私は毎日再構築されるいくつかの非常に大きなMyISAMテーブル(主に最新の業界とサイトのデータを使って再構築されたテーブルの検索)を必要とするアプリケーションに取り組んでいます。これらのテーブルを再構築するために使用されるクエリは非常に重く、本稼動データベースに対して実行するには不適切です。大規模なMySQLテーブルを再生成する最良の方法
これらのテーブルを生成するための専用のサーバーがあり、master-slaveレプリケーションを使用して、本番データベースの最新のコピーを、再構築クエリの一部として使用する処理サーバーに保存します。私の質問は、いったんこれらのテーブルが構築されると、それらを本番データベースに移す最善の方法は何ですか(効果的に古いテーブルを削除し、新しいテーブルに置き換える)?
これまで、バイナリデータとインデックスファイルをサーバー間で移動し、場所にコピーしました。しかし、これは複製にはうまくいきません。
このタスクには他にどのような方法がありますか?プロダクションデータベースと処理データベースの間のマスターとマスターのレプリケーションは、どんな使い方ですか?
を選択するために使用するコード - しかし、基本的には、大規模なクエリはまだ生産上で実行されますmysqldインスタンスは、(たとえそれがテーブルをロックしなくても)サーバーを壊します。 – DavidWinterbottom