码迷,mamicode.com
首页 > 数据库 > 详细

mysql 从库落后主库太多优化

时间:2018-07-06 13:12:53      阅读:263      评论:0      收藏:0      [点我收藏+]

标签:cache   信息   优化   修改   设置   repos   space   using   额外   

有时候为了避免master.info和中继日志崩溃,在容忍额外的fsync()带来的开销,推荐设置
sync_master_info = 1
sync_relay_log = 1
sync_relay_log_info = 1

当然,如果备库跟主库延迟特别大,备库的io线程谢了很多中继日志,通过relay_log_purge设置,sql线程重放完一个中继日志中的事件后会尽快将删除。
极端情况下,需要设置relay_log_space_limit,这样如果中继日志的大小超过这个值,I/O线程将停止,等待sql线程释放磁盘空间。

sync_master_info:每间隔多少事务刷新master.info,如果是table(innodb)设置无效,每个事务都会更新
    The effects of this variable on a replication slave depend on whether the slave‘s master_info_repository is set to FILE or TABLE
sync_relay_log:默认为10000,即每10000次sync_relay_log事件会刷新到磁盘。为0则表示不刷新,交由OS的cache控制
    If the value of this variable is greater than 0, the MySQL server synchronizes its relay log to disk (using fdatasync()) after every sync_relay_log events are written to the relay log. Setting this variable takes effect for all replication channels immediately, including running channels
sync_relay_log_info:每间隔多少事务刷新relay-log.info,如果是table(innodb)设置无效,每个事务都会更新
master_info_repository:记录主库binlog的信息,可以设置FILE(master.info)或者TABLE(mysql.slave_master_info)
relay_log_info_repository:记录备库relaylog的信息,可以设置FILE(relay-log.info)或者TABLE(mysql.slave_relay_log_info)

为了快速让从库同步主库最新数据,可临时修改以下配置:

innodb_flush_log_at_trx_commit = 0

sync_binlog = 0

sync_master_info = 2000
sync_relay_log = 2000
sync_relay_log_info = 2000

mysql 从库落后主库太多优化

标签:cache   信息   优化   修改   设置   repos   space   using   额外   

原文地址:https://www.cnblogs.com/lvcisco/p/9272860.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!