
我正在配置 MySQL 複製,並打算使用基於行的複製,但我也在閱讀有關基於混合的複製的資訊。
這是預設情況下基於語句的情況,然後在某些情況下(http://dev.mysql.com/doc/refman/5.1/en/binary-log-mixed.html) MySQL 將切換到基於行。
關於何時切換到基於行的列表非常多。
我的問題是:
有人用混合的嗎?如果是,為什麼您選擇這個而不是只使用其中一個?
先致謝
答案1
有人用混合的嗎?
我敢打賭很多人都使用過混合模式複製,因為根據MySQL 參考手冊:
從 MySQL 5.1.12 到 MySQL 5.1.28,預設使用混合格式。從 MySQL 5.1.29 開始,預設使用基於語句的格式。
這MySQL 效能部落格討論不同複製方法的不同問題。
因此,MySQL 似乎一直在嘗試在 5.1.x 系列中的混合模式、基於語句和基於行的複製之間切換,這令人不安。
我目前正在閱讀高效能 MySQL,第二版來自奧萊利。它有一個關於複製的精彩章節,非常值得一讀。透過一個小時的閱讀,我的許多問題都得到了解答。您可以閱讀其中的一些章節第 8 章. 複製 > 複製底層原理 - 第 173 頁第357章:
由於這兩種格式都無法完美適用於所有情況,因此 MySQL 5.1 會在基於語句的複製和基於行的複製之間動態切換。預設情況下,它使用基於語句的複製,但是當它偵測到無法使用語句正確複製的事件時,它會切換到基於行的複製。您也可以透過設定 binlog_format 會話變數來根據需要控制格式。