MySQL: 高级用法

如何配置、优化、导出或导入 MySQL 数据

👋 欢迎来到 Stackhero 文档!

Stackhero 提供了一种即用型 MySQL 云 解决方案,具有众多优势,包括:

  • 无限连接和传输。
  • 包含 phpMyAdmin 网络界面。
  • 只需点击即可轻松完成 更新
  • 通过 专用私有 VM 提供最佳 性能 和强大 安全性

节省时间简化生活:只需 5 分钟即可试用 Stackhero 的 MySQL 云托管 解决方案!

在 Stackhero,您的 MySQL 服务器可同时处理的连接数没有硬性限制。您可以直接在 Stackhero 控制台中根据应用需求灵活调整该参数。

虽然将该值设置得尽可能高可能很有诱惑力,但建议您选择一个实际可行的上限。每个打开的连接都会占用服务器内存(RAM),设置过高会给实例带来不必要的压力,甚至可能导致数据库不稳定。

如果您的数据库使用 InnoDB 存储引擎,您可以在 Stackhero 控制台中启用“InnoDB Optimizations”选项,以提升性能。

同样地,如果您的数据库采用 MyISAM 存储引擎,激活“MyISAM Optimizations”选项也能带来性能提升。

如果您不确定数据库使用的是哪种存储引擎,或者不清楚该选择哪个优化选项,通常建议默认启用这些选项。您可以根据实际工作负载或资源使用情况,随时进行微调。

MySQL 命令行工具如 mysqlmysqldump,在数据导入和导出等任务中非常实用。

一种便捷的方式是通过 Docker 容器运行这些工具。这种方法可以保持本地环境整洁,无需手动安装。

如果 Docker 并不是您的常用工具,也完全没问题。您可以了解一下 Stackhero 上的 Code-Hero。这是一个基于浏览器的开发平台,允许您直接在浏览器中工作,无需在本地安装任何软件。只需几分钟即可访问 Stackhero 上的 Code-Hero 了解详情并试用。

要开始使用 Docker,您可以通过以下命令启动一个 MySQL 容器:

docker run -it -v $(pwd):/mnt mysql:<MYSQL_VERSION> /bin/bash

请将 <MYSQL_VERSION> 替换为您需要的版本。例如,如果您在 Stackhero 上运行的是 MySQL 8.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

要创建数据库备份(即“dump”),您可以直接在本地计算机上使用 mysqldump 工具。(如需在 Docker 中运行,请参考上一节。)

要将 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 的文件中。

要将本地计算机上的数据库导入到 Stackhero 实例中,可以使用以下命令:

mysql -u root -p -h <XXXXXX>.stackhero-network.com -P <PORT> <DATABASE> < yourDump.sql

请记得将 yourDump.sql 替换为您要导入的实际 SQL 文件名。