

# Amazon RDS での MySQL のレプリケーションの使用
<a name="USER_MySQL.Replication"></a>

リードレプリカは通常、Amazon RDS の DB インスタンス間でレプリケーションを設定するために使用します。リードレプリカの概要については、「[DB インスタンスのリードレプリカの操作](USER_ReadRepl.md)」を参照してください。Amazon RDS for MariaDB でリードレプリカを操作する具体的な方法については、[MySQL リードレプリカの使用](USER_MySQL.Replication.ReadReplicas.md) を参照してください。

RDS for MySQL のレプリケーションにはグローバルトランザクション ID (GTID) を使用できます。詳細については、「[GTID ベースレプリケーションを使用する](mysql-replication-gtid.md)」を参照してください。

RDS for MySQL DB インスタンスと Amazon RDS の外部にある MariaDB や MySQL インスタンスとの間でレプリケーションを設定することもできます。外部出典とのレプリケーションの設定については、「[外部のソースインスタンスを使用したバイナリログファイル位置のレプリケーションの設定](MySQL.Procedural.Importing.External.Repl.md)」を参照してください。

これらのどのレプリケーションオプションでも、行ベース、ステートメントベース、または混合レプリケーションが使用できます。行ベースのレプリケーションは、SQL ステートメントの結果として変更された行のみをレプリケートします。ステートメントベースのレプリケーションは、SQL ステートメント全体をレプリケートします。混合レプリケーションは、可能な場合にはステートメントレプリケーションを使用しますが、ステートメントベースのレプリケーションに対して安全でない SQL ステートメントが実行されると、行ベースのレプリケーションに切り替えます。ほとんどの場合には、混合レプリケーションをお勧めします。DB インスタンスのバイナリログ形式は、レプリケーションが行ベース、ステートメントベース、混合のいずれであるかを判断します。バイナリログ形式の設定については、「[シングル AZ データベースの RDS for MySQL バイナリログの設定](USER_LogAccess.MySQL.BinaryFormat.md)」を参照してください。

**注記**  
Amazon RDS の外部にある MariaDB または MySQL インスタンスからデータベースをインポートしたり、これらのインスタンスにデータベースをエクスポートするようレプリケーションを設定できます。詳細については、「[ダウンタイムを短縮して Amazon RDS for MySQL データベースにデータをインポートする](mysql-importing-data-reduced-downtime.md)」および「[レプリケーションを使用した MySQL DB インスタンスからのデータのエクスポート](MySQL.Procedural.Exporting.NonRDSRepl.md)」を参照してください。

スナップショットから DB インスタンスを復元した後、またはポイントインタイムリカバリを実行した後で、ソースデータベースから最後に復元したバイナリログの位置を RDS コンソールで確認できます。**[ログとイベント]** で、「**binlog**」と入力します。バイナリログの位置は **[システムノート]** の下に表示されます。

**Topics**
+ [MySQL リードレプリカの使用](USER_MySQL.Replication.ReadReplicas.md)
+ [GTID ベースレプリケーションを使用する](mysql-replication-gtid.md)
+ [外部のソースインスタンスを使用したバイナリログファイル位置のレプリケーションの設定](MySQL.Procedural.Importing.External.Repl.md)
+ [Amazon RDS for MySQL のマルチソースレプリケーションの設定](mysql-multi-source-replication.md)