我转储了所有数据库,以便将它们导入从属服务器。
mysqldump --all-databases > dump.sql
导入似乎非常非常缓慢。检查进程列表,我看到一个简单的插入 20 行表需要 400 多秒。
为了在合理的时间内导入,我不得不忽略转储中的一些大而不重要的表。
我不明白我是不是做错了什么,整个转储大约有 800MB,而我忽略的“大”表不超过 170K 记录,我认为它一点也不大……
此外,我经常转储单个数据库以将其加载到测试环境中,通常没有问题。似乎 --all-databases 转储非常慢。
欢迎任何建议。
我怀疑你患有“开箱即用”综合症。让全世界都知道......开箱即用的 MySQL 配置很糟糕。
转到https://tools.percona.com/wizard并根据表单中提出的问题创建更好的配置。这应该为您提供一个更好的起点。生成输出后,将其添加到您的配置文件(/etc/my.cnf)并重新启动 MySQL;查看 mysql 错误日志以确保您的 mysql 实例干净启动(注意路径、权限和 innodb_log_file_size 大小差异,因为这需要在创建新文件之前处理旧的 ib_log* 文件)。完成后,再次尝试导入。