MySQLレプリケーションの整合性チェックにPerconaのpt-table-checksumを使用しています。
ある種の構成ファイルを使用して、オプションの一部またはすべてを渡すことは可能ですか?
たとえば、チェックしたいテーブルのリストをファイルに書き込むことはできますか?
マニュアルにはそのようなファイルについては記載されていないことを理解しています: http://www.percona.com/doc/percona-toolkit/2.1/pt-table-checksum.html
はい、できます。
pt-table-checksum --config FILENAME
FILENAMEは次のようになります
tables = table1,table2,table3
ignore-tables-regex = ^tmp
chunk-time = .2
max-load = Threads_running=10
chunk-size = 100000
user = myuser
pass = mypass
--config
が指定されていない場合、pt-table-checksumはデフォルトで/etc/percona-toolkit/pt-table-checksum.conf
から読み取ります。ほぼすべてのPerconaToolkitツールにこの機能があります。
設定ファイルの動作の詳細が利用可能です ここ
このような自動化をシェルスクリプト化できるはずです
自動化に使用するシェルスクリプトを投稿しました mk-table-checksum および mk-table-sync : pt-table-checksumによって報告されたように、テーブルが同期していない問題を修正しました。pt-table-syncが機能していません (2011年12月5日)
スクリプトは次のことを行います。
そのスクリプトには、2行あります
TC=/usr/local/sbin/mk-table-checksum
TS=/usr/local/sbin/mk-table-sync
スクリプト内でそれらを pt-table-checksum および pt-table-sync の絶対パスに簡単に置き換えることができます。 DBインスタンス全体ではなく、ファイルのリストを使用するようにスクリプトを拡張することもできます。
ファイルからオプションを読み取ることはできません。コマンドラインでユーティリティと一緒にオプションを渡す必要があります。Cronjobとして実行されるジョブファイルを作成できます。
ファイルから引数を読み取る方が良いと思います。このような構成オプションについては、ここでPerconaに問い合わせることができます: http://www.percona.com/bugs/pt-table-checksum