mysql syncbinlog_Mysql之sync-binlog参数
Mysql開(kāi)啟bin-log日志使用bin-log時(shí),默認(rèn)情況下,并不是每次執(zhí)行寫入就與硬盤同步,這樣在服務(wù)器崩潰是,就可能導(dǎo)致bin-log最后的語(yǔ)句丟失。
可以通過(guò)這個(gè)參數(shù)來(lái)調(diào)節(jié),sync_binlog=N,使執(zhí)行N次寫入后,與硬盤同步。1是最安全的,但是也是最慢的。
參考:http://blog.csdn.net/wulantian/article/details/9965905
sync_binlog=1 or N
This makes MySQL synchronize the binary log’s contents to disk each time it commits a transaction
默認(rèn)情況下,并不是每次寫入時(shí)都將binlog與硬盤同步。因此如果操作系統(tǒng)或機(jī)器(不僅僅是MySQL服務(wù)器)崩潰,有可能binlog中最后的語(yǔ)句丟 失了。要想防止這種情況,你可以使用sync_binlog全局變量(1是最安全的值,但也是最慢的),使binlog在每N次binlog寫入后與硬盤 同步。即使sync_binlog設(shè)置為1,出現(xiàn)崩潰時(shí),也有可能表內(nèi)容和binlog內(nèi)容之間存在不一致性。如果使用InnoDB表,MySQL服務(wù)器 處理COMMIT語(yǔ)句,它將整個(gè)事務(wù)寫入binlog并將事務(wù)提交到InnoDB中。如果在兩次操作之間出現(xiàn)崩潰,重啟時(shí),事務(wù)被InnoDB回滾,但仍 然存在binlog中??梢杂?-innodb-safe-binlog選項(xiàng)來(lái)增加InnoDB表內(nèi)容和binlog之間的一致性。(注釋:在MySQL 5.1中不需要--innodb-safe-binlog;由于引入了XA事務(wù)支持,該選項(xiàng)作廢了),該選項(xiàng)可以提供更大程度的安全,使每個(gè)事務(wù)的 binlog(sync_binlog =1)和(默認(rèn)情況為真)InnoDB日志與硬盤同步,該選項(xiàng)的效果是崩潰后重啟時(shí),在滾回事務(wù)后,MySQL服務(wù)器從binlog剪切回滾的 InnoDB事務(wù)。這樣可以確保binlog反饋InnoDB表的確切數(shù)據(jù)等,并使從服務(wù)器保持與主服務(wù)器保持同步(不接收 回滾的語(yǔ)句)。
總結(jié)
以上是生活随笔為你收集整理的mysql syncbinlog_Mysql之sync-binlog参数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: mysql router安装教程_MyS
- 下一篇: $query = mysql_query