もしくは、スレーブにだけ更新処理をさせるSQL文の書き方(オプション)などがありますでしょうか。
通常は、レプリケーションをしている状態で
メンテナンスや、管理上の都合で、マスターに対して更新処理をした場合に
スレーブに反映してほしくないSQLの書き方はあるでしょうか。
たとえば、テーブルを作成する場合に、マスターは、InnoDB型、スレーブは、MyISAMにしたい場合に
マスターでまずMyISAMでテーブルをつくり、スレーブに反映させ
マスターだけ、InnoDBに変更することをしたいのです。
今は、個別にスレーブに接続して、型を変えていますが
スレーブの数が多くなってきて作業が煩雑になっています。
# 実際やってはないのですが、こんなのはどうでしょうか?
# mysql
CREATE TABLE xxx ENGINE=MyISAM to MASTER
# shell
for s in `slave01 slave02 slave03`
do
ssh -f xxx@s 'echo "STOP SLAVE;SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;" | /usr/local/mysql/bin/mysql -uxxx -p'
done
# mysql
ALTER TABLE xxx ENGINE=InnoDB to MASTER
# shell
for s in `slave01 slave02 slave03`
do
ssh -f xxx@s 'echo "START SLAVE;" | /usr/local/mysql/bin/mysql -uxxx -p'
done
# ENGINE変える=すべて止まってる状態
# なんてのを勝手に想像していますが・・・
すいません。説明不足でした。
稼動中の Master Slave 構成に対して、新たにテーブルを追加するような場合を想定しているため
レプリケーションを止めるということはできません。