Mysql
在主從之間混合二進制日誌格式
我在 MySQL 5.6 / Innodb 中有一個非常簡單的Master –> Slave複製設置。
我的 Master 和 Slave 都設置為 MIXED binlog 格式。
現在我需要我的從伺服器充當主伺服器來插入一個 Java 二進制日誌連接器,該連接器將檢索二進制日誌以進一步提供給 hadoop 堆棧。為此,我啟用了log-slave-updates變數
問題是:Java 連接器將更好地處理基於行的二進制日誌。
所以我的問題是:
- 我可以安全地將我的從屬上的二進制日誌格式更改為 ROW 嗎?
- 並將 MIXED 格式保留在 master 上?
我在 MySQL 文件中找不到任何關於此的細節。
它可能在手冊中:
每個 MySQL 伺服器都可以設置自己的並且只能設置自己的二進制日誌記錄格式(無論 binlog_format 設置為全域還是會話範圍都是如此)。這意味著更改複製主伺服器上的日誌格式不會導致從伺服器更改其日誌格式以匹配。(當使用 STATEMENT 模式時,binlog_format 系統變數不會被複製;當使用 MIXED 或 ROW 日誌模式時,它會被複製但被從站忽略。)
– http://dev.mysql.com/doc/refman/5.6/en/binary-log-setting.html
你的問題是“是”。
請注意,這
ROW
是 5.7 的預設設置。也就是說,ROW
已經證明自己是進行複制的“正確”方式。Galera 分群甚至無法在沒有ROW
.