2012-05-15 34 views
1

當主服務器上的事件(update/insert/alter)確切記錄在二進制日誌中時?Mysql:在主服務器上的二進制日誌中記錄了確切的事件

1. When it started on the master server, it will be written to the bin log 
2. When it started and completed on the master, then will be logged 

具體而言,我想知道在阿姆斯特和奴隸之間在正常情況下的ALTER 如果答案是1,並且不會有滯後只是由於改變在主啓動的情況下的行爲。

+3

這必須是2.否則在主站上失敗的語句將被複制。 –

回答

1

非事務性報表立即寫入二進制日誌。對於MySQL 5+,這意味着針對不支持事務的存儲引擎的任何語句都會立即寫入。

儘管如此,您不應該針對事務內的非事務性表執行語句。

事務提交時,事務語句被寫入二進制日誌。對於MySQL 5+,這意味着針對事務表的任何聲明。

當前,ALTER TABLE強制隱式提交,因此會立即寫入二進制日誌。根據MySQL documentation

二進制日誌記錄在語句完成後,但在任何鎖定被釋放或任何提交完成之前立即完成。這可確保日誌按執行順序進行記錄。

+0

是否意味着,INNODB故事中的ALTER只有在主設備上完成時纔會被記錄。是嗎.....? – Uday

+0

正確,它將不會被記錄,直到語句完成。 –

相關問題