2010年2月24日

[mysql 15195] Re: 指定地点までレプリケート

こんにちは、海老原です。
自分で引き続き調べていたところ、次の文書を見つけました。

http://assets.en.oreilly.com/1/event/21/Replication%20Tutorial%20Paper.pdf

この文書そのものがどういう位置づけのものなのかはよく分かりませんが、著者はどうやらMySQLのレプリケーションチームの方のようなので、内容は信頼できそうです。

で、これの14ページ目の"How to clone a slave"に、START SLAVE

UNTILの使用例が記載されており、最初に自分で考えた手順で恐らく問題ないだろうと思っていますが、1つよく分からないのは、SHOW
MASTER STATUSの実行前にFLUSH TABLESで全テーブルをロックしている点です。

別にポジションを確認するだけならロックしなくてもいいんじゃないかとも思うんですが。

どなたか、この手順の意味が分かる方がいらっしゃれば教えてください。
よろしくお願いします。

海老原 雄一郎

2010年2月24日2:43 EBIHARA, Yuichiro <ebihara@xxxxx>:
> MyNAの皆さま
>
> こんにちは、海老原と申します。
> レプリケーションについて質問があります。
>
> マスター/スレーブ型のレプリケーション構成で、スレーブを常にマスターに追随させるのではなく、スレーブの状態をマスターのある時点のスナップショットとして固定しておきたいと思っています。
>
> マスターには継続的に更新が発生するものとし、たとえば1日に1回、(おおよそ)00:00時点のマスターの状態をスレーブにレプリケートするとします。
> この場合、次のような手順を考えているのですが、もし問題や注意点などがあればご指摘いただけないでしょうか。
>
> 前提1)スレーブ側でCHNAGE MASTER TOコマンドは適切に実行完了している
>
> 前提2)START SLAVE IO_THREADコマンドで I/Oスレッドだけは起動され、バイナリログの転送は常時行われている
>
> 1)00:00にマスター側でSHOW MASTER STATUSコマンドを実行
> FileとPositionを確認する。
>
> 2)スレーブ側でSTART SLAVE SQL_THREAD UNTILコマンドを実行
> MASTER_LOG_FILEとMASTER_LOG_POSパラメータに、1)で確認した値を指定する。
>
> 後は毎日1)と2)を繰り返す。
>
>
> 意外とシンプルに実装できそうな気がしていますが、何か勘違いしている点などあれば、ご指摘いただけると助かります。
> (または、勘違いがなければないと言っていただけるのも同じくらい助かります)
>
> どうぞよろしくお願いします。
>
> 海老原 雄一郎
>


投稿者 xml-rpc : 2010年2月24日 14:06
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/93561
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。