マスターデータチェックから
外形寸法:
既存のデータ・ネットワーク・データのチェックを行うには、月
データチェックを行うための日からメインスイッチがあれば
検証ツール:
PT-テーブルのチェックサム
修復ツール:
PT-テーブル同期
PT-テーブルのチェックサム
原則
データベース内のテーブルを作成します。チェックサム
ID> 0とid <= 1000データ(this_cnt)は、hash_code操作を行う各服用回数(*)(this_crc)
主库:SELECT COUNT(*)ID> 0とid <= 1000 TBから。
マスタおよびスレーブ機能が実行され、それぞれのCNT、CRCの値を生成します
セットbinlog_format =「ステートメント」
percona.checksum(デシベル、TB1、チャンク、chunk_index、lower_boundary、upper_boundary、this_cnt、this_crc)に置き換えるXXXXXXを選択
this_cnt、master_cntように更新メイン図書館のthis_crc値、master_crc年。
ここで、DB = 'XX' 及びTB = 'XX' 及びチャンク= XXチェックサムからthis_cnt、this_crcを選択します。
チェックサム・セットmaster_cnt = this_cnt.value、master_crc = this_crc.valueを更新する場合、DB = 'XX' 及びTB = 'XX' 及びチャンク= XX。
比較this_cntライブラリ、this_crc値master_cnt、master_crcから
DB、TB1によってTOTAL_ROWSとしてDB、TB1、和(this_cnt)を選択し、(*)カウントチェックサムからのチャンクとして(master_cnt <> this_cnt又はmaster_crc <> this_crcまたはISNULL(master_crc)<> ISNULL(this_crc))基です。
使用
--recursion法=ホスト:
私たちは、ライブラリ設定ファイルからライブラリーからの情報を追加する必要があります。
report_host = 172.18.10.198
メインライブラリーショーのスレーブがホストする場合は、ライブラリーから見つけることができるようになります。
PT-テーブル・チェックサム--host = 172.18.10.197 --port = 3306 --databases = xxxxの-uxxxx -p --nocheck複製・フィルタ--replicate = percona.checksums --nocheck-binlogのフォーマット--nocheck -plan --recursion法=ホスト
--nocheck複製・フィルタを:フィルタをチェックしませんコピーが可能にすることをお勧めします。--databasesは、データベースをチェックするために、後で指定することができます。
--no-チェック-binlogの形式:binlogのレプリケーションモードをチェックしないでください、とのbinlogモードがROWであれば、それはエラーになります。
--replicate-チェックのみ:のみの情報が同期されません表示されます。
--replicate =:データベースをチェックするために直接書き込むことが推奨され、指定されたテーブルのチェックサムに情報を書き込みます。
--databases =:データベースは、コンマで区切られた複数の確認する必要が指定します。
--tables =:カンマで区切られた複数のテーブルをチェックする必要が指定
H = 127.0.0.1:マスター住所
U =ルート:ユーザー名
P = 123456:パスワード
P = 3306:ポート
TS:タイム・チェックが完了しています。
エラー:チェックする際にエラーと警告の数が起こります。
DIFFS:0、1、矛盾を全会一致表明しました。--no-複製チェックを指定する場合、それはゼロだったでしょう、指定された--replicate-チェックイン時にのみ異なる情報が表示されます。
ROWS:表の行数。
チャンクは:テーブル内のブロックに分割されます。
SKIPPED:エラーや警告、または大きすぎるのために、ブロックの数がスキップされます。
TIME:実行時。
TABLE:チェックするテーブル名。
PT-テーブル同期
原則
チャンクで見つけたPt table_checksumエラー、エラーログを見つけるためにバイナリ検索を行います。
メインライブラリの設定
binlog_format = 'ステートメント'
メインのインベントリでは、ライブラリーから存在していません。どこのid = xxxのTBから削除を実行するための主要なライブラリ。
代わるメインライブラリ内のインベントリから主要株式では、一度記録を再挿入。ライブラリは、正しいデータに挿入されます。
使用
データ回復は:hは、hは第2スレーブ最初のマスターである、テーブルは主キーを持たなければなりません。見ると、最初の--printを行います
プリントSQL
PT-テーブル同期--charset = UTF8 --databases --no-チェックスレーブDSN = U =ルート、P =ルート、H = 172.18.10.198、P = 3306 DSN = U =ルート、P =ルート、H = 172.18.10.198、P = 3307 --print
実行
PT-テーブル同期--charset = UTF8 --databases = DB1 --no-チェックスレーブDSN = U =ルート、P =ルート、H = 172.18.10.198、P = 3306 DSN = U =ルート、P =ルート、H = 172.18.10.198、P = 3307 --execute
データベース---ignore =ライブラリを無視するように指定します
--databases =指定されたライブラリ
--tables =指定したテーブル
実行文を表示--print
--execute実行
--no-チェックスレーブは、ライブラリーからdesitinationかどうかをチェックしません。