ブログを見てくれてはいるが、全然コメントしてくれない友人より、
「レプリケーション中にテーブル追加出来るのは分かったけど、カラム追加or削除したら挙動どうなんの?」
という質問を頂いたので以前テストした結果を記載したいと思います。
間違いあるかもしれないので、間違いがあったらご指摘ください。
結論からいうと、マスターとスレーブで同じカラム情報を追加すればレプリケーションは問題なく行われました。
テスト項目は以下ページを参考にさせて頂きました。
http://www.nakachangoo.net/node/39
カラムの追加テスト
カラムの削除テスト
スレーブのカラムの削除し、マスターへupdateをかける
マスター | データが更新される。 |
---|---|
スレーブ | データ更新が停止(レプリケーションが停止)。 |
レプリケーション | マスターも同じようにカラムを削除するとレプリケーションが再開した。 |
※ここだけテスト項目を参考というか丸パクリさせて頂いた
http://www.nakachangoo.net/node/39
と異なっていました。
URL先ではスレーブのみカラム削除してもレプリケーションは行われたような記載でしたが、
マスターも同じようにカラムを削除しないとレプリケーションが停止したままでした。。。
時間がある時に再検証やってみようかな。
まとめるとカラム追加or削除を行う場合の手順は、
- 参照をスレーブに向けている場合はマスターに向け直す。
- マスターでカラム追加or削除する。
- 速攻スレーブで同じようにカラム追加or削除する。
- 参照をスレーブに向け直す。
という感じになりそうです。