一 前言
前文 介绍了5.5/5.6 版本的MySQL semi sync 基础原理和配置,随着MySQL 5.7
的发布,新版本的MySQL修复了semi sync 的一些bug 并且增强了功能。
【mysql】 【线程】 【高并发】 【同步】 【replication】 【binlog】 【磁盘】 …
Original post: http://anothermysqldba.blogspot.com/2014/01/can-mysql-replication-catch-up.html
因此,複製在MySQL 5.6,最近改善。 然而,人們還在使用5.1和5.5等等一些這些改進將不得不等待打真實的世界。
我最近幫助朝這個方向與地理定位的複製解決方案。 該國的一部分有一個MySQL 5.1服務器和該國的其他部分都安裝一個新的MySQL
5.6服務器。
處理獲得從初級到輔助服務器的初始數據備份的問題後(花了幾個小時,至少可以說),我必須決定可以複寫趕上並跟上。
主服務器有一些大的查詢和優化始終是一個良好的開端。 我不得不在輔助服務器拉和應用一樣快,我能先雖然。
…
线上有个数据库,在slow log中,存在大量类似下面的记录:
# Time: 130823 13:56:08 # User@Host: repl[repl] @ slave [10.x.x.x] # Query_time: 9.000833 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 1 SET timestamp=1377237368; # administrator command: Binlog Dump;
每完成一次binlog dump都会被记录下来,看着非常不爽(我有强迫症,O(∩_∩)O哈哈~),得想着法子搞掉。
经过排查,最后确认是特定版本存在这个现象,目前发现官方 5.1.49 存在,估计整个官方 5.1.x 都会有这个现象。
解决方法:
修改 my.cnf 配置文件,增加或修改下面这个选项:
log-slow-admin-statements = 0
比较坑人的是,这个选项在5.1无法在线修改,需要重启mysqld。
手册上关于这个选项的解释如下:
Include slow administrative statements in the statements written to the slow query log. …[获取更多]