Looking for mysql Answers? Try Ask4KnowledgeBase
Looking for mysql Keywords? Try Ask4Keywords

MySQL複製


備考

レプリケーションは、1つのMySQLデータベースサーバーから1つ以上のMySQLデータベースサーバーに[バックアップ]データをコピーするために使用されます。

Master - コピーするデータを提供しているMySQLデータベースサーバ

スレーブ - MySQLデータベースサーバは、マスタによって提供されるデータをコピーします。

MySQLでは、レプリケーションはデフォルトでは非同期です。これは、マスターから更新を受け取るためにスレーブを永続的に接続する必要がないことを意味します。たとえば、スレーブがオフになっている、またはマスターに接続されておらず、後でスレーブをオンに切り替える、またはマスターに接続している場合は、自動的にマスターと同期します。

構成に応じて、すべてのデータベース、選択したデータベース、またはデータベース内の選択されたテーブルを複製することができます。

レプリケーションフォーマット

複製フォーマットには2つのコアタイプがあります

Statement Based Replication(SBR) - SQL文全体を複製します。この場合、マスターはSQL文をバイナリログに書き込みます。スレーブへのマスタのレプリケーションは、スレーブ上でそのSQL文を実行することによって動作します。

Row Based Replication(RBR) - 変更された行のみを複製します。この場合、マスターは、個々の表の行がどのように変更されるかを示すイベントをバイナリー・ログに書き込みます。スレーブへのマスタのレプリケーションは、テーブル行への変更を表すイベントをスレーブにコピーすることによって機能します。

3番目の種類、 Mixed Based Replication(MBR)を使用することもできます。この場合、ステートメントベースとロウベースの両方のログが使用されます。変更に最も適したログが作成されます。

5.7.7より古いバージョンのMySQLでは、ステートメントベースの形式がデフォルトでした。 MySQL 5.7.7以降では、行ベースの形式がデフォルトです。

複製 関連する例