web-dev-qa-db-ja.com

MySQLのレプリケーションの差分パターンを見つけます

PT-Table-CheckSumとPT-Table-Syncを使用して、レプリカの違いを確認します。 -printオプションを指定してpt-table-syncを使用すると、マスター値のみが表示されます。

矛盾するスレーブ値も表示するにはどうすればよいですか。私はそれらの差分が発生するパターンを見つけることができるかどうか見たいです。

1
SecondThought

使用 - pt-table-sync これらのオプションを使用して

  • --print
  • --sync-to-master

スレーブをマスターに一致させるには、SQLの変更をExecuteに報告します。

マスターは比較のために単に接続されています。

--printオプションのPerconaの文書化

違いを解決する印刷クエリ。

PT-TABLE-SYNCを信用しない場合、またはそれが何をするのか見たい場合は、これは安全な方法です。これらのクエリは有効なSQLであり、テーブルを手動で同期させる場合は、自分で実行できます。

強調のために:マスターに--printおよび--sync-to-masterの出力を実行しないでください。スレーブのみで実行してください。

循環レプリケーションを使用している場合は、これを行います

echo "SET SQL_LOG_BIN = 0;" > ChangesToSlave.sql
pt-table-sync --print --sync-to-master ... >> ChangesToSlave.sql

その後、スレーブでChangesToSlave.sqlを実行できます。

1
RolandoMySQLDBA