问题描述
# The MysqL server
[MysqLd]
....
key_buffer = 384M
max_allowed_packet = 5M
table_open_cache = 512
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
...
# enable GTID mode
gtid_mode = ON
enforce_gtid_consistency = 1
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 384M
innodb_additional_mem_pool_size = 20M
# Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 100M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
[MysqLdump]
quick
max_allowed_packet = 16M
目前正在尝试在不同的 MysqL 主机上从以下命令恢复 MysqL 转储。
MysqLdump -u <> -p <> --ssl-capath=<> -all-databases --triggers --routines --events --single-transaction --master-data >> /tmp/MysqLdump
使用以下命令恢复相同的转储
cat /tmp/MysqLdump | MysqL -u <> -p <> --ssl-capath=<>
当前统计数据
MysqL 转储 - 3 GB。 没有网络延迟,在同一个网络上
转储生成时间 - 1 分钟 恢复时间 - 9 分钟
主机 RAM - 125 GB。 交换 - 8 GB
试图加快修复的方法
更新MysqL配置到下面
innodb_buffer_pool_size = 2048M
# Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 256M
innodb_log_buffer_size = 16M
innodb_lock_wait_timeout = 50
innodb_flush_log_at_trx_commit = 2
innodb_flush_method = O_DIRECT
在转储前禁用检查并在转储后重置它们。 在转储之前设置以下并在恢复转储后重置它们
UNIQUE_CHECKS=0;
FOREIGN_KEY_CHECKS=0;
FOREIGN_KEY_CHECKS = 0;
他们都没有加紧恢复数据库
尝试了几种可能的方法来缩短恢复转储的时间。但他们都没有帮助。任何建议将不胜感激。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)