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