レプリカサーバーは、レプリケーションプロセスに使用する情報のリポジトリをいくつか作成します:
レプリケーション I/O スレッドによって書き込まれるレプリカリレーログには、レプリケーションソースサーバーのバイナリログから読み取られたトランザクションが含まれます。 リレーログ内のトランザクションは、レプリケーション SQL スレッドによってレプリカに適用されます。 リレーログについては、セクション17.2.4.1「リレーログ」 を参照してください。
レプリカ接続メタデータリポジトリには、レプリケーション I/O スレッドがレプリケーションソースサーバーに接続し、ソースバイナリログからトランザクションを取得するために必要な情報が含まれています。 接続メタデータリポジトリが
mysql.slave_master_info
テーブルに書き込まれます。レプリカ適用者メタデータリポジトリには、レプリケーション SQL スレッドがレプリカリレーログからトランザクションを読み取り、適用するために必要な情報が含まれています。 アプライヤメタデータリポジトリが
mysql.slave_relay_log_info
テーブルに書き込まれます。
レプリカ接続メタデータリポジトリと適用者メタデータリポジトリは、まとめてレプリケーションメタデータリポジトリと呼ばれます。 詳細は、セクション17.2.4.2「レプリケーションメタデータリポジトリ」 を参照してください。
予期しない停止に対するレプリケーションの回復性の実現.
mysql.slave_master_info
および mysql.slave_relay_log_info
テーブルは、トランザクションストレージエンジン InnoDB
を使用して作成されます。 レプリカアプライアンスのメタデータリポジトリテーブルへの更新は、トランザクションとともにコミットされます。つまり、予期しないサーバーが停止した場合でも、そのリポジトリに記録されるレプリカ進捗情報は、常にデータベースに適用されているものと一貫性があります。 予期しない停止に対して最も回復可能なレプリカの設定の組合せの詳細は、セクション17.4.2「レプリカの予期しない停止の処理」 を参照してください。