MySQL InnoDB Replication Slave 太慢解决办法

作者:袖梨 2022-11-14

Master 的是标? MySQL, Slave 换成 Percona, 没想到反而跟不上进度, 而且 Slave 与 Master 差距越来越远.


InnoDB 效能调校文件与说明
 
由文件找到有个参数可以调整: innodb_flush_log_at_trx_commit

此参数调整的原因: InnoDB 预设是每次写入, 就会将 Log 写入(Flush)硬碟, 所以会很慢.

innodb_flush_log_at_trx_commit 的值可以设?橄率鋈?? (预设是 1), 下述取自此篇: MyISAM 与 InnoDB 性能比较

决定何时将缓?区的log写入日?档及何时将日?档存入硬碟档案中。
设定值:
0:日?缓?区每秒一次都会将log写到日?档案,并且将硬碟?的日?档案做更新储存,但是在commit动作下不做任何操作。
1:在每次commit动作时,日?缓?区的资料被写到日?档?,且对日?档案更新至硬碟中。(预设值)
2:在每次commit时,日?缓?区被写到日?档案,但不对日?档案更新至硬碟中。

MySQL InnoDB Replication Slave 太慢跟不上解法
1. vim /etc/mysql/conf.d/replication_slow.conf

[mysqld]
innodb_flush_log_at_trx_commit = 0
innodb_buffer_pool_size = 512M

2.sudo service mysql restart # 到此即可, 再来就会看到 Slave 会慢慢跟上进度萝~

相关文章

精彩推荐