標籤:blog http io ar 使用 sp on 資料 div
Mysql開啟bin-log日誌使用bin-log時,預設情況下,並不是每次執行寫入就與硬碟同步,這樣在伺服器崩潰是,就可能導致bin-log最後的語句丟失。
可以通過這個參數來調節,sync_binlog=N,使執行N次寫入後,與硬碟同步。1是最安全的,但是也是最慢的。
參考Mysql官網:http://dev.mysql.com/doc/refman/5.5/en/replication-options-binary-log.html#sysvar_sync_binlog
參考: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 預設情況下,並不是每次寫入時都將binlog與硬碟同步。因此如果作業系統或機器(不僅僅是MySQL伺服器)崩潰,有可能binlog中最後的語句丟 失了。要想防止這種情況,你可以使用sync_binlog全域變數(1是最安全的值,但也是最慢的),使binlog在每N次binlog寫入後與硬碟 同步。即使sync_binlog設定為1,出現崩潰時,也有可能表內容和binlog內容之間存在不一致性。如果使用InnoDB表,MySQL伺服器 處理COMMIT語句,它將整個事務寫入binlog並將事務提交到InnoDB中。如果在兩次操作之間出現崩潰,重啟時,事務被InnoDB復原,但仍 然存在binlog中。可以用--innodb-safe-binlog選項來增加InnoDB表內容和binlog之間的一致性。(注釋:在MySQL 5.1中不需要--innodb-safe-binlog;由於引入了XA事務支援,該選項作廢了),該選項可以提供更大程度的安全,使每個事務的 binlog(sync_binlog =1)和(預設情況為真)InnoDB日誌與硬碟同步,該選項的效果是崩潰後重啟時,在滾回事務後,MySQL伺服器從binlog剪下復原的 InnoDB事務。這樣可以確保binlog反饋InnoDB表的確切資料等,並使從伺服器保持與主伺服器保持同步(不接收 復原的語句)。
Mysql之sync-binlog參數