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 是一款功能齐全的开发平台,直接在浏览器中运行,无需本地安装。 只需几分钟即可了解其全部功能并快速上手,欢迎访问 Stackhero 上的 Code-Hero

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

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

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

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

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

启动容器时,您的当前目录会挂载到容器内的 /mnt(通过 $(pwd):/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 文件即可。