結論とコメント
まず、完全なデータのスナップショットを取得していることを確認してください。テーブルやデータベースのコピーを忘れると、待機系プログラムが停止してしまいます。スナップショットが生成される時間は重要です。データ ファイルをコピーする前に、バイナリ ログ機能が無効になっていることを確認する必要があります。スナップショットを取得する前にバイナリ ログ機能が有効になっている場合、スタンバイ マシン上のスレッドが停止する可能性があります。これは、スレッドが重要なレコードをインポートしようとすると、主キーの重複によりスレッドが停止する可能性があるためです。最善の方法は、パート 2 で説明した解決策に従うことです。クローズ、コピー、バイナリ ログ機能の再起動を許可します。
元の方法でレプリケーション プロセスを構成し、スタンバイ マシンがマスター マシンと同期していることを確認するために、適切なタイミングでスタンバイ マシンに注意を払うことをお勧めします。
レプリケーション機能を使用するシステムの負荷分散パフォーマンスをテストしたことはありませんが、そのようなシステムを柔軟に使用して挿入と更新のバランスを取ることができます。たとえば、2 つのサーバー上の 2 つのレコードが同じ auto_increment 値を指定した場合、スタンバイ スレッドはどのレコードで停止しますか?このような問題では、ロード バランシングが読み取り専用として処理され、1 つのサーバーがすべての挿入と更新を処理し、一方、一連のスタンバイ (マスターとは別に複数のスタンバイを使用できます) がすべての選択を処理します。
MySQL にはレプリケーション システムのいくつかの機能がすでに備わっており、構成が非常に簡単であることが非常にうれしいです。これを使用すると、制御不能なイベントに対する追加のセキュリティの提供を開始できます。
翻訳者の言葉:
私はもともと MySQL のバージョン 3.22 を使用していたので、それをテストするには、最新のプログラム バージョン 3.23.24 をダウンロードする必要がありました。マシンが 1 台しかないので、バイナリ ログの設定を増やしました。ただし、この記事に記載されているように、ファイルは実際に生成されます。興味のある方はぜひご自身で試してみてください。また、最新の MySQL ユーザーマニュアルでは、このレプリケーション機能はバージョン 3.23.15 以降でのみ利用可能であることがわかりました。ご自身の MySQL バージョンを確認してください。同時に記事内のバイナリログの設定をmy.cnfに設定します。私が使用しているバージョン 3.23.24 では、マニュアルにはパラメータ設定用のファイルが 3 つあると記載されています。Windows ディレクトリ内の my.ini ファイル、c:my.cnf、c:mysqldatamy.cnf です。 「log-bin」を設定するとき(最初にログパラメータを設定する必要はありません)、mysqlに付属のWinMySQLadminソフトウェアを使用して設定し、my.iniに設定したものとは異なります。記事を参照してください。