mysql 的兩個引數 slave_type_conversions 與innodb_support_xa

babyyellow發表於2013-03-21

先說第二個 innodb_support_xa 

這個引數是在主庫上設定的,預設是自動開啟的。

看到XA 首先想到的就是分散式事務了,這個引數確保事務日誌寫入bin-log 的順序與是事務的time-line 是一致的。

這樣在系統崩潰的時候,啟用日誌恢復,可以嚴格按照時間線來恢復資料庫。

但是對效能有一定影響的,如果沒有啟用分散式事務,建議關閉這個引數,我們的系統預設是關閉了。

第一個slave_type_conversions  這個引數在mysql5.5.3 引入,目的是啟用row 格式的bin-log 的時候,
如果主從的column 的資料型別不一致,會導致複製失敗,mysql5.5.3 之後支援,主庫是int 從庫是bigint 這種型別的複製,
這個引數的意義就是控制些型別轉換容錯性。
如果從庫的型別比主庫型別大,那麼複製沒有問題的。
如果從庫型別比主庫型別小,比如從int 複製到tinyint 這個引數就會起作用。

幾種值的設定:

ALL_LOSSY: 允許資料截斷

ALL_NON_LOSSY: 不允許資料截斷,如果從庫型別大於主庫型別,是可以複製的,翻過了,就不行了,從庫報復制錯誤,複製終止。


ALL_LOSSY,ALL_NON_LOSSY: 所有允許的轉換都會執行,而不管是不是資料丟失。

空值 (不設定) : 要求主從庫的資料型別必須嚴格一致,否則都報錯。



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

相關文章