mysql:8375
From: Okamoto RYO <Okamoto RYO <ryo@xxxxxxxxxx>>
Date: Wed, 5 Nov 2003 01:18:49 +0900
Subject: [mysql 08375] Re: レプリケーションの整合性チェック
おかもとです。 「[mysql 08361] Re: レプリケーションの整合性チェック」 / ̄ ̄ ̄ ̄ ̄ ̄ ̄ >> 理想的には、master の Position、slave の Read_Master_Log_Pos, >> Exec_Master_Log_Pos の 3 つの値が常に一致しているとよいのですが、 >> master に更新系のクエリが多かったり、master - slave 間のネットワークが >> 遅かったり、master に比べて貧弱だったり他の要因で負荷がかかったりして >> いて slave の SQL スレッドの処理が遅れているなどなどの理由で、これら 3 >> つの値がいつも同一となるとは限らないと思いますし、同一でないからといっ >> てレプリケーションが正常動作していないとは言えないと思います。 > >次のようなロジックのスクリプトを書いたことがあります。 > >1. log_file と log_pos の値がマスタとスレーブで一致していれば OK >2. でなければ、数秒待って log_pos が更新されていれば OK >3. でなければ、NG これは、マスタサーバのバイナリログである(例えば)server-bin.001 ファイルのバイト数と log_pos カラムの値が一致していれば、と いうことですね。とりあえず、次のようなロジックを組むことに しました。 1. log_file のバイト数と log_pos の値が一致していれば OK 2. でなければ、Slave_IO_Running, Slave_SQL_Running 両カラムの値をチェック 3. どちらかが 'YES' でなければ NG 上記のチェックに失敗した場合は10秒待って2度まで 再試行し、それでも失敗したら NG とします。 # う〜ん・・あまり自信無し :-< ================================= @@ Squeeze Lab. @@ mail : ryo@xxxxxxxxxx web : http://www.sqz.jp written by : Okamoto RYO :-) =================================
8341 2003-10-30 16:42 [Okamoto RYO <ryo@xxx] レプリケーションの整合性チェック 8359 2003-11-03 18:08 ┗["HIROSE, Masaaki" <h] 8360 2003-11-03 18:37 ┣[Okamoto RYO <ryo@xxx] 8361 2003-11-03 21:52 ┗[とみたまさひろ <tomm] -> 8375 2003-11-05 01:18 ┗[Okamoto RYO <ryo@xxx] 8379 2003-11-06 02:05 ┗["HIROSE, Masaaki" <h] 8380 2003-11-07 00:05 ┗[とみたまさひろ <tomm]