是否必須使用 GTID 啟用 –log_slave_updates 和 MySQL 複製?
我正在設置 5.6 Percona Mysql,為了啟用 GTID,我應該在 Master 和 Slave 上啟用 log_slave_update 嗎?
如果我應該啟用 log_slave_update,那麼我會將其算作具有 GTID 的 CONS。
另外,如果您可以讓我知道啟用 GTID 的任何其他問題嗎?
MySQL 文件建議:請參閱使用 GTID 設置複製
請記住,MySQL 甚至不會啟動它。為什麼 ?從文件:
第 3 步:重新啟動啟用 GTID 的兩台伺服器。要使用全域事務標識符啟用二進制日誌記錄,每個伺服器必須以 GTID 模式、二進制日誌記錄、啟用從屬更新日誌記錄以及禁用基於 GTID 的複制不安全的語句啟動。此外,您應該通過在只讀模式下啟動兩個伺服器來防止在任一伺服器上執行不需要的或意外的更新。這意味著必須使用(至少)以下 mysqld_safe 呼叫中顯示的選項來啟動兩個伺服器:
外殼> mysqld_safe –gtid_mode=ON –log-bin –log-slave-updates –enforce-gtid-consistency &
由於二進制日誌在 Master 和 Slave 上都處於活動狀態,因此 Master 的二進制日誌和 Slave 的二進制日誌都將與事務一起記錄 GTID。這使得在啟動 Replication 時可以使用 Slave 中的最新 GTID 將 Slave 自動定位到其 Master。其中一個關鍵步驟在同一文件頁面中明確說明:
指示slave使用master作為複制數據源並使用自動定位,然後啟動slave。
因此,必須啟用–log-slave-updates才能啟動自動定位機制。甚至超出機制,@jynus 在他對mysql 5.6 gtid replication 的回答中指出:是否需要 log_slave_updates?如果未指定–log-slave-updates ,則mysqld 甚至都不會啟動。