プライマリ mysql サーバーと 2 つのスレーブをバックアップとして使用しています。
スレーブの 1 つにはソリッド ステート ストレージが装備されているため、レポートに頻繁に使用されます。
生成されるデータの一部には時間がかかり (場合によっては約 30 分から 1 時間)、割り当てられたデータを使用および生成します (2 ギガ程度のオーダーで、トランザクションの使用を躊躇します)。レポート テーブルはデータベース全体の小さなサブセットにすぎないため、レプリケーションを完全にシャットダウンすることはやや問題外です。
当面の問題は、データの生成中に生成されるレポートが明らかに不完全で間違っていることです。
- マスター サーバーとレポート サーバーの両方でテーブルをロックする最善の方法は何ですか?
- 「LOCK TABLES」ステートメントはスレーブに複製されますか、それとも一時テーブルでデータを生成し、1 つの INSERT ... SELECT ステートメントでそれらを最終テーブルにコピーするのが最善の方法でしょうか。