MySQL: 高级用法
如何配置、优化、导出或导入 MySQL 数据
👋 欢迎来到 Stackhero 文档!
Stackhero 提供了一种即用型 MySQL 云 解决方案,具有众多优势,包括:
- 无限连接和传输。
- 包含 phpMyAdmin 网络界面。
- 只需点击即可轻松完成 更新。
- 通过 专用私有 VM 提供最佳 性能 和强大 安全性。
节省时间并简化生活:只需 5 分钟即可试用 Stackhero 的 MySQL 云托管 解决方案!
配置 MySQL 最大连接数
在 Stackhero,您的 MySQL 服务器可同时处理的连接数没有硬性限制。您可以直接在 Stackhero 控制台中根据应用需求灵活调整该参数。
虽然将该值设置得尽可能高可能很有诱惑力,但建议您选择一个实际可行的上限。每个打开的连接都会占用服务器内存(RAM),设置过高会给实例带来不必要的压力,甚至可能导致数据库不稳定。
针对 InnoDB 或 MyISAM 引擎优化 MySQL
如果您的数据库使用 InnoDB 存储引擎,您可以在 Stackhero 控制台中启用“InnoDB Optimizations”选项,以提升性能。
同样地,如果您的数据库采用 MyISAM 存储引擎,激活“MyISAM Optimizations”选项也能带来性能提升。
如果您不确定数据库使用的是哪种存储引擎,或者不清楚该选择哪个优化选项,通常建议默认启用这些选项。您可以根据实际工作负载或资源使用情况,随时进行微调。
使用 MySQL 命令行工具(mysql、mysqldump 等)
MySQL 命令行工具如 mysql 和 mysqldump,在数据导入和导出等任务中非常实用。
一种便捷的方式是通过 Docker 容器运行这些工具。这种方法可以保持本地环境整洁,无需手动安装。
如果 Docker 并不是您的常用工具,也完全没问题。您可以了解一下 Stackhero 上的 Code-Hero。这是一个基于浏览器的开发平台,允许您直接在浏览器中工作,无需在本地安装任何软件。只需几分钟即可访问 Stackhero 上的 Code-Hero 了解详情并试用。
要开始使用 Docker,您可以通过以下命令启动一个 MySQL 容器:
docker run -it -v $(pwd):/mnt mysql:<MYSQL_VERSION> /bin/bash
请将
<MYSQL_VERSION>替换为您需要的版本。例如,如果您在 Stackhero 上运行的是 MySQL8.0.36-0,请使用8.0.36(去掉结尾的-0)。
容器启动后,您可以通过以下命令测试连接:
mysql -u root -p -h <XXXXXX>.stackhero-network.com -P <PORT>
此时,您的当前目录会通过 $(pwd):/mnt 参数挂载到容器内的 /mnt 目录。这样可以方便地在本地计算机和容器之间传递文件。例如,如果您想将数据库备份到本地,可以使用:
mysqldump -u root -p -h <XXXXXX>.stackhero-network.com -P <PORT> <DATABASE> > /mnt/<DATABASE>.sql
导出 MySQL 数据库
要创建数据库备份(即“dump”),您可以直接在本地计算机上使用 mysqldump 工具。(如需在 Docker 中运行,请参考上一节。)
导出 MySQL 数据库到本地计算机
要将 Stackhero 实例中的数据库导出到本地计算机,可以运行:
mysqldump -u root -p -h <XXXXXX>.stackhero-network.com -P <PORT> <DATABASE> > <DATABASE>.sql
请确保将 <XXXXXX>.stackhero-network.com、<PORT> 和 <DATABASE> 替换为您的实际实例信息。运行命令后,系统会提示您输入 root 密码。mysqldump 工具随后会将数据库表保存到名为 <DATABASE>.sql 的文件中。
导入 MySQL 数据库到服务器
要将本地计算机上的数据库导入到 Stackhero 实例中,可以使用以下命令:
mysql -u root -p -h <XXXXXX>.stackhero-network.com -P <PORT> <DATABASE> < yourDump.sql
请记得将 yourDump.sql 替换为您要导入的实际 SQL 文件名。