Perconaページのドキュメントを読みましたが、特に--replicate
オプションについては少し混乱しています。
私の設定では、スレーブはマスターから特定のデータベース、たとえばdb1
とdb2
のみを複製しています。したがって、スレーブホストのmy.cnf
ファイルに次の行があります。
replicate-do-db=db1
replicate-do-db=db2
したがって、ツールを使用するときは、オプションとして--databases=db1, db2
を渡す必要があることはわかっていますが、結果のチェックサムテーブルをこれらのデータベースの1つに--replicate=db1.checksum
?デフォルトでは、percona
というデータベースを作成し、percona.checksum
に書き込みますが、すべてのデータベースを複製しているわけではないので、そのようなデータベースも作成して書き込みますか?スレーブ上のデータベース?
そして、ツールを使用した後、チェックサムテーブルをマスターにドロップしてログに記録してスレーブに送信する前に、USE db1
を実行する必要がありますか?
これは簡単にテストできることは知っていますが、レプリケーションの失敗を引き起こすことについて言及しているドキュメントを読んだとき、私は怖かったです。私はどういうわけか私のローカルMySQLを台無しにし、この2つのサーバーにしかアクセスできませんでした。あなたの助けに感謝。
しかし、結果のチェックサムテーブルを--replicate = db1.checksumを使用してこれらのデータベースの1つに書き込む必要がありますか?
はい、必要です。そうしないと、複製されません。
また、ツールを使用した後、チェックサムテーブルをマスターにドロップする前にUSE db1を実行して、これをログに記録してスレーブに送信する必要がありますか?
はい。
Svetaの回答に追加するには、フラグ--no-check-replication-filtersを設定して、ツールがそれらについて文句を言わないようにする必要もあります。