MariaDB: 高级用法
如何配置、优化、导出或导入 MariaDB 数据
👋 欢迎使用 Stackhero 文档!
Stackhero 提供现成可用的 MariaDB 云 解决方案,具有众多优势,包括:
- 无限连接和传输。
- 包含 phpMyAdmin 网页界面。
- 轻松 更新,只需点击一下。
- 通过 专用私有 VM 提供最佳 性能 和强大 安全性。
节省时间并简化生活:只需 5 分钟即可试用 Stackhero 的 MariaDB 云托管 解决方案!
配置 MariaDB 最大连接数
在 Stackhero,您不会受到服务器可处理的并发连接数的固定限制。您可以直接在 Stackhero 控制台中灵活调整该数值。
虽然将连接数设置得很高看起来很有吸引力,但建议根据实际使用情况选择合适的数值。每个连接都会占用内存(RAM),如果设置过高,可能导致系统资源耗尽,甚至崩溃。
针对 InnoDB 或 MyISAM 引擎优化 MariaDB
如果您的数据库使用 InnoDB 存储引擎,建议在控制台中启用“InnoDB Optimizations”选项,这有助于提升基于 InnoDB 的工作负载性能。
对于基于 MyISAM 存储引擎的数据库,启用“MyISAM Optimizations”选项同样可以带来性能提升。
如果您不确定哪种优化更适合您的环境,通常建议初始阶段同时启用这两个选项。后续可以根据资源使用和性能监控情况,决定是否关闭其中一个或两个,以节省内存(RAM)。
查询缓存(Query cache)
MariaDB 的查询缓存(Query cache)是一项实用功能,您可以直接在 Stackhero 控制台中启用。一般建议保持开启状态。但如果您的数据库写操作多于读操作,或者需要尽量减少内存占用,可以考虑关闭该功能。
使用 MariaDB 命令行工具(mysql、mysqldump 等)
MariaDB 的命令行工具,如 mysql 和 mysqldump,是导入或导出数据等操作的必备工具。
在 Docker 容器中运行这些工具可以简化环境配置,尤其适合不希望在本地直接安装软件的场景。
如果您的工作流程中没有用到 Docker,也完全没问题! 您可以尝试 Stackhero 上的 Code-Hero。 Code-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
导出 MariaDB 数据库
您可以直接在本地电脑上使用 mysqldump 命令行工具导出数据库。详细步骤请参考上方相关章节。
将 MariaDB 数据库导出到本地电脑
要将 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 文件中。
将 MariaDB 数据库导入到服务器
要将本地数据库导入到 Stackhero 实例,可以使用:
mysql -u root -p -h <XXXXXX>.stackhero-network.com -P <PORT> <DATABASE> < yourDump.sql
只需将 yourDump.sql 替换为您希望导入到 Stackhero 实例的 SQL 文件即可。