Mysql

在多主 MYSQL 上使用 Pt-online 模式更改

  • March 15, 2018

我們在環複製中使用兩個 MYSQL 伺服器,其中主伺服器也是另一個主伺服器的從伺服器。兩者都有相互連接的奴隸。我們想執行 pt-online-schema-change 來添加幾列,但我們不確定它是否會由於環複製而中斷複製。任何建議都會很棒。

如果您使用 dsn 表作為遞歸方法,那麼 pt-online-schema-change 可以為您完成這項工作。這記錄在這裡:

https://www.percona.com/doc/percona-toolkit/LATEST/pt-online-schema-change.html#cmdoption-pt-online-schema-change-recursion-method

但是,如果您使用 hosts 方法,pt-osc 將檢測到 SHOW SLAVE STATUS 返回超過 1 行,但它認為拓撲正在使用複制通道。你會得到這個錯誤:

This server returned more than one row for SHOW SLAVE STATUS but "channel"
was not specified on the command line at bin/pt-online-schema-change line 4494.

為了設置拓撲來測試不同的情況,dbdeployer 是一個有用的工具https://github.com/datacharmer/dbdeployer#replication-topologies

披露:我為 Percona 工作

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