Mysql

將數據庫添加到使用 binlog_do_db 的現有 MySQL 主-主複製?

  • March 1, 2022

我們有 2Mysql 5.7台伺服器以主-主複製模式執行。

並且在這兩個伺服器之間有一個數據庫複製:

binlog_do_db = database1

現在我們需要將一個新數據庫添加到複製中,我已經閱讀了將數據庫添加到使用 binlog_do_db 的現有複製?,但它的主從。master-master的情況還有其他需要考慮的嗎?

Master-Master 只是兩個方向的 Master-Slave。所以所有的設置都是一樣的。

只要兩個 Master 不同,數據就不會在兩個 Master 之間無休止地循環server_id

我很確定你只有多行。見https://forums.mysql.com/read.php?26,255998,255998

MM充滿了危險,但我猜你已經擺脫了它們。所以我不會豎琴。

您可以編輯 my.cnf 以根據需要包含許多新數據庫,但如果您在執行查詢之前始終選擇數據庫,則 binlog-do-db 會自行執行。

例如,您的 master 1 上有 3 個數據庫,並且希望在 master 2 上僅複製 2 個並使用此解決方案:

binlog_do_db = 數據庫1

binlog_do_db = 數據庫2

通過在 master1 上執行此查詢:

從 id=‘yy’ 的 database3.testTable 中刪除;

將破壞您的複制,因為 master2 上不存在 database3:請在過濾之前從 percona 閱讀這篇文章 https://www.percona.com/blog/2009/05/14/why-mysqls-binlog-do-db-option-是危險的/

引用自:https://dba.stackexchange.com/questions/190370