3

MySQLマスター-スレーブ-スレーブのセットアップに関する簡単な質問:

現在、マスタースレーブを設定していますが、別のスレーブを追加したいと思います。スレーブを実行しているサーバーのクローンを作成し、スレーブからのイメージを使用して新しいサーバーを起動し、中断したところからすぐに起動することは可能でしょうか?では、コピー時にbinlogが何であれ、マスターに追いつくまで実行されるのでしょうか。

理想的には、バックアップのためにマスターをシャットダウンせずに、マスターに接続する別のスレーブを起動しようとしています。どんなアドバイスやガイダンスも素晴らしいでしょう。ありがとう!

4

4 に答える 4

4

はい、スレーブ インスタンスをシャットダウンし、すべてのデータを別のスレーブにコピーできます (ログを含む)。2番目のスレーブ
で編集することを忘れないでください(変更する必要があります) 次に、両方のスレーブサーバーを起動しますmy.cnfserver-id

于 2012-08-15T16:06:09.430 に答える
2

はい、これは可能です。おそらく最良の方法は、スレーブでのレプリケーションを一時的に停止し、マスター バイナリ ログの位置情報を特定し、レプリケーションがまだ一時停止している間にレプリカからダンプを作成することです (レプリカで他のデータが変更されていません)。ダンプが完了したら、レプリカを再起動できます。

新しいサーバーでは、ダンプをインストールし、binlog 座標を設定して、レプリケーションを開始するだけです。ただし、注意が必要です。マスターのバイナリ ログを消去するための設定で、このセットアップ プロセスを実行し、バイナリ ログが消去される前に新しいスレーブを取得するのに十分な期間、バイナリ ログを保持できることを確認してください。

于 2012-08-15T16:05:59.307 に答える
0

マスター サーバーに複数のレプリケーションスレーブをセットアップする方法に関する優れたチュートリアルを次に示します。

シナリオを説明するものではありませんが、重要なヒントを提供します。2 番目のスレーブに一意のサーバー ID を割り当てる必要があります。

問題について: マスターのバイナリ ログが十分に長く保持されている場合は、問題が発生することはありません。スレーブをしばらくシャットダウンし、クローンを作成して書き留めます。スレーブの MASTER_LOG_FILE と MASTER_LOG_POS; 次に、元のスレーブを再起動し、2 番目のスレーブを正しくセットアップします。これは、指定された MASTER_LOG_POS と *_FILE が設定され、my.cnf に一意のサーバー ID が設定されていることを意味します。

次に、2 番目のスレーブを起動します。「START SLAVE」を使用してレプリケーションを開始し、「SHOW SLAVE STATUS;」を確認します。

よろしく、ステファン

PS: これが動作するとは約束できませんが、動作するはずです。

于 2012-08-15T16:12:20.223 に答える
0

次の手順を実行するだけで、既存の mysql スレーブを使用して新しいスレーブを作成できます。

  1. スレーブでレプリケーションを停止します。
  2. 実行show slave status;してこれらの値を書き留めますMaster_Log_File: master-bin.000002& Read_Master_Log_Pos: 1307
  3. 新しいmysqlスレーブサーバーでそれを取得mysqldumpして復元します。my.cnf既存のmysqlスレーブサーバーからファイルをコピーして、変更するだけserver-idです.
  4. change master to既存のmysqlスレーブから取得したmysqlマスターサーバーとログファイル名とログ位置の詳細を提供する新しいスレーブサーバーでコマンドを実行します。
  5. start slave;既存の mysql スレーブで実行します。
  6. スレーブステータスの実行を確認しますshow slave status

これで、新しい mysql スレーブ サーバーができました!!

幸運を !

于 2016-03-24T07:31:33.407 に答える