私はマシンが本番環境で稼働するようになるのを減らしようとしています。MySQLがボトルネックになっています。私が試していること。 1台のマシンでコードを更新し、MySQLですべてが正常に復元された後、EC2 AMIを作成し、自動スケーリンググループからマシンを起動しました。今この例では、私は取っておらず、ライブダンプもありません。 MySQLを起動してレプリケーションを作成した後、GTIDエラーが表示されます。これらのすべてのプロセスには30〜40分かかります。
Last_IO_Error:バイナリログからデータを読み取るときにマスターから致命的なエラー1236が発生しました: 'スレーブはCHANGEMASTER TO MASTER_AUTO_POSITION = 1を使用して接続していますが、マスターはスレーブが必要とするGTIDを含むバイナリログをパージしました。
どんな体でも私が間違っていることを知ることができます。しかし、私が新しいダンプを取り、これをライブマシンで復元すると、動作します。 MySQLバージョン5.6.17。
複製するには、マスターからダンプを取得する必要があります。
マスターは、スレーブが必要とするGTIDを含むバイナリログをパージしました。
マスターはそのバイナリログを削除し、新しいバイナリログファイルを作成します。これが、現在のバイナリログで使用可能なgtid_executed
とgtid_purged
を取得しているため、ダンプを取得した後にレプリケーションを実装する場合に機能する理由です。
ただし、ダンプなしで実装している場合、Materがすでにパージしているため、gtid_executed
とgtid_purged
は一致します。
したがって、ダンプを取る必要があり、場合によってはスレーブでgtid_purged
を手動で設定する必要があります。
あなたはこれを読むことができます、それは非常によく説明されています。 https://www.percona.com/blog/2013/02/08/how-to-createrestore-a-slave-using-gtid-replication-in-mysql-5-6/