![Mysql 导入缓慢](https://linux22.com/image/574168/Mysql%20%E5%AF%BC%E5%85%A5%E7%BC%93%E6%85%A2.png)
我导入了一个数据库,当我运行 mytop 时,只看到一个线程在运行插入操作。对于 80GB 的大数据库,这将花费很长时间。是否有任何工具或选项可以增加线程数?
答案1
并行转储/加载的最佳选择是我的转储程序. 由精通其领域的人撰写。
这与主题无关,但顺便说一句,innotop 是一个比 mytop 功能更强大的工具。
答案2
Maatkit 工具被纳入Percona 工具包但是我找不到这两个工具在文档中。
您可能看不到速度的提高,具体取决于磁盘的配置方式。有些人已经看到了一些显著改进。
答案3
您可以尝试将 my.cnf 中的 key_buffer_size 变量的值增加到可用 RAM 的 20-25%。它通常设置得相当低,增加它将允许更快的导入/转储速度。更多信息请访问: http://www.notesbit.com/index.php/web-mysql/mysql/mysql-tuning-optimizing-my-cnf-file/
我的知识有限,没有涉及多线程,所以我无法帮助你。
答案4
您也可以将 /var/lib/mysql 文件夹 rsync 到任何其他机器。最好的情况是,如果您有一个从属服务器正在运行。此时,您可以停止并关闭 mysql 服务。这样,/var/lib/mysql 下的文件就不会被更改。
rsync -avhzr ssh user@yourmachine:/var/lib/mysql .
这样,我就可以在 20 分钟内导入我的 40G 数据库,这取决于您的互联网带宽。