MariaDB: 高级用法

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

👋 欢迎使用 Stackhero 文档!

Stackhero 提供现成可用的 MariaDB 云 解决方案,具有众多优势,包括:

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

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

在 Stackhero,您不会受到服务器可处理的并发连接数的固定限制。您可以直接在 Stackhero 控制台中灵活调整该数值。

虽然将连接数设置得很高看起来很有吸引力,但建议根据实际使用情况选择合适的数值。每个连接都会占用内存(RAM),如果设置过高,可能导致系统资源耗尽,甚至崩溃。

如果您的数据库使用 InnoDB 存储引擎,建议在控制台中启用“InnoDB Optimizations”选项,这有助于提升基于 InnoDB 的工作负载性能。

对于基于 MyISAM 存储引擎的数据库,启用“MyISAM Optimizations”选项同样可以带来性能提升。

如果您不确定哪种优化更适合您的环境,通常建议初始阶段同时启用这两个选项。后续可以根据资源使用和性能监控情况,决定是否关闭其中一个或两个,以节省内存(RAM)。

MariaDB 的查询缓存(Query cache)是一项实用功能,您可以直接在 Stackhero 控制台中启用。一般建议保持开启状态。但如果您的数据库写操作多于读操作,或者需要尽量减少内存占用,可以考虑关闭该功能。

MariaDB 的命令行工具,如 mysqlmysqldump,是导入或导出数据等操作的必备工具。

在 Docker 容器中运行这些工具可以简化环境配置,尤其适合不希望在本地直接安装软件的场景。

如果您的工作流程中没有用到 Docker,也完全没问题! 您可以尝试 Stackhero 上的 Code-HeroCode-Hero 是一款功能完善的开发平台,直接在浏览器中运行,无需本地安装。 访问 Code-Hero on Stackhero 了解更多功能,并在几分钟内快速上手。

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

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

请将 <MARIADB_VERSION> 替换为您所需的具体 MariaDB 版本。例如,如果您的应用在 Stackhero 上运行的是 MariaDB 版本 10.11.6-0,则可以使用 10.11.6(只需去掉 -0 后缀)。

容器启动后,您可以通过以下命令测试连接:

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

启动容器时,您的当前目录会通过 $(pwd):/mnt 挂载到容器内的 /mnt。这意味着您电脑当前目录下的所有文件,在容器内的 /mnt 路径下都可以访问。例如,若要将 MariaDB 数据库备份到本地机器,可以在容器内执行以下命令,将备份文件保存为 /mnt/<DATABASE>.sql

mysqldump -u root -p -h <XXXXXX>.stackhero-network.com -P <PORT> <DATABASE> > /mnt/<DATABASE>.sql

您可以直接在本地电脑上使用 mysqldump 命令行工具导出数据库。详细步骤请参考上方相关章节。

要将 Stackhero 实例中的数据库导出到本地电脑,可以使用以下命令:

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

请将 <XXXXXX>.stackhero-network.com<PORT><DATABASE> 替换为您自己的信息。按下回车后,mysqldump 会提示您输入 root 密码,随后会将数据库中的所有表导出到 <DATABASE>.sql 文件中。

要将本地数据库导入到 Stackhero 实例,可以使用:

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

只需将 yourDump.sql 替换为您希望导入到 Stackhero 实例的 SQL 文件即可。