MySQL 從庫日誌比主庫多

haoge0205發表於2015-12-16
在群裡聊天的時候,一個群友說,生產庫主庫當機,但是主從資料庫資料一致,但是從庫的日誌比主庫多,很是不理解!

諮詢後發現,生產庫的主庫沒有設定sync_binlog=1,而是為sync_binlog=0

因此,在主庫寫入資料的時候,事務已經提交,但是資料在binlog cache中,沒有寫入到磁碟,並且資料已經同步到從庫,此刻主庫當機,binlog cache中資料丟失,導致從庫的日誌比主庫多。

群友重新配置主從之後,並將sync_binlog設定為1

sync_binlog的重要性及意義:
sync_binlog=n,當每進行n次事務提交之後,MySQL將進行一次fsync之類的磁碟同步指令來將binlog_cache中的資料強制寫入磁碟。
在MySQL中系統預設的設定是sync_binlog=0,也就是不做任何強制性的磁碟重新整理指令,這時候的效能是最好的,但是風險也是最大的。因為一旦系統Crash,在binlog_cache中的所有binlog資訊都會被丟失。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28939273/viewspace-1873121/,如需轉載,請註明出處,否則將追究法律責任。

相關文章