リファレンスの抜粋ですが、最近心臓止まりかけた件に関連するのでmemoっておく。
上記のようにガチでテーブル名を指定するような方法と、
ワイルドカードを使ってテーブルを指定する方法。(DB名もいけるんだってのは今知った。)
参考:http://dev.mysql.com/doc/refman/4.1/ja/replication-options.html
で、後者みたいに一部のテーブルだけレプリしているようなDBが、
複数台あるDB構成の一部である場合に、テーブルのリネームするときは注意が必要です。
(例:slave 4台(2台:全部レプリ、2台:一部のテーブルのみレプリ)
●●_tmpみたいなの作ってあれやこれやとしようとすると、上記の引用の一つ目みたいな
書き方してると、実はレプリされてなくてslave側に●●_tmpができてない!ってなるので。
そんなときうまいことワイルドカード使って書いてあると、もしかしたら救われるかもねー
ってのがあるんですけど、そもそも一度経験したら、作業前にはmy.cnf見ましょうね、って
話になる気がするので、備忘録として。
MySQLによるタフなサイトの作り方/佐藤 真人
¥3,360
Amazon.co.jp
これの勉強会も折り返しを過ぎて、次は自分の番とか。
やばし。
● --replicate-do-table=db_name.table_name
指定したテーブルに対するクエリのみレプリケーションを限定するようスレーブスレッドに指示する。複数のテーブルを指定するには、コマンドを複数回、各テーブルに 1 回ずつ使用する。これは、--replicate-do-db とは対照的に、データベースをまたがった更新用に使用する。この一覧の後の説明を参照のこと。
上記のようにガチでテーブル名を指定するような方法と、
● --replicate-wild-do-table=db_name.table_name
指定したワイルドカードパターンに一致するテーブルに対するクエリのみを、レプリケーションすることをスレーブスレッドに指示する。複数のテーブルを指定するには、コマンドを複数回、各テーブルに 1 回ずつ使用する。これは、データベースをまたがった更新用に使用する。この一覧の後の説明を参照のこと。
例: --replicate-wild-do-table=foo%.bar% は、foo で始まるデータベースの bar で始まるテーブルを使用する更新だけをレプリケートする。
注意: --replicate-wild-do-table=foo%.% を使用すると、このルールは CREATE DATABASE および DROP DATABASE にも伝播し、データベース名がデータベースパターン(ここでは foo%)に一致した場合、これら 2 つののステートメントがレプリケートされる(これは、% がパターンであることによって引き起こされる)。
ワイルドカード文字 _ と % のエスケープにも注意が必要である。たとえば、my_own%db データベース(データベースの正確な名前)のすべてのテーブルをレプリケートし、my1ownAABCdb データベースのテーブルはレプリケートしない場合、_ および % をエスケープする。この場合、replicate-wild-do-table=my\_own\%db のように実行する。このオプションをコマンドラインから指定した場合、システムによっては \ をエスケープする必要がある(たとえば bash シェルでは、--replicate-wild-do-table=my\\_own\\%db と入力する必要がある)。
ワイルドカードを使ってテーブルを指定する方法。(DB名もいけるんだってのは今知った。)
参考:http://dev.mysql.com/doc/refman/4.1/ja/replication-options.html
で、後者みたいに一部のテーブルだけレプリしているようなDBが、
複数台あるDB構成の一部である場合に、テーブルのリネームするときは注意が必要です。
(例:slave 4台(2台:全部レプリ、2台:一部のテーブルのみレプリ)
●●_tmpみたいなの作ってあれやこれやとしようとすると、上記の引用の一つ目みたいな
書き方してると、実はレプリされてなくてslave側に●●_tmpができてない!ってなるので。
そんなときうまいことワイルドカード使って書いてあると、もしかしたら救われるかもねー
ってのがあるんですけど、そもそも一度経験したら、作業前にはmy.cnf見ましょうね、って
話になる気がするので、備忘録として。
MySQLによるタフなサイトの作り方/佐藤 真人
¥3,360
Amazon.co.jp
これの勉強会も折り返しを過ぎて、次は自分の番とか。
やばし。