web-dev-qa-db-ja.com

マルチマスターMYSQLでのPt-onlineスキーマ変更の使用

マスターがもう一方のマスターのスレーブでもあるリングレプリケーションで2つのMYSQLサーバーを使用しています。どちらも互いに接続されたスレーブを持っています。 pt-online-schema-changeを実行していくつかの列を追加したいのですが、リングレプリケーションが行われているためにレプリケーションが中断するかどうかはわかりません。どんなアドバイスでも素晴らしいでしょう。

2

再帰メソッドとして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が複数の行を返すことを検出しますが、トポロジがレプリケーションチャネルを使用していると見なします。このエラーが発生します:

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のために働いています

1