メニュー
Amazon Relational Database Service
ユーザーガイド (API Version 2014-10-31)

mysql.rds_set_external_master

MySQL DB インスタンスを、Amazon RDS の外部で動作する MySQL インスタンスのリードレプリカとして設定します。

構文

Copy
CALL mysql.rds_set_external_master ( host_name , host_port , replication_user_name , replication_user_password , mysql_binary_log_file_name , mysql_binary_log_file_location , ssl_encryption );

Parameters

host_name

Amazon RDS の外部で動作する MySQL インスタンス (レプリケーションマスター) のホスト名または IP アドレス。

host_port

Amazon RDS の外部で動作する MySQL インスタンス (レプリケーションマスター) で使用されるポート。ポート番号を変換する SSH ポートのレプリケーションがネットワーク設定に含まれる場合、SSH によって公開されるポート番号を指定します。

replication_user_name

Amazon RDS の外部で実行される MySQL インスタンスの REPLICATION CLIENT および REPLICATION SLAVE アクセス権限を持つユーザーの ID。外部インスタンスのレプリケーション専用のアカウントを使用することをお勧めします。

replication_user_password

replication_user_name で指定されたユーザー ID のパスワード。

mysql_binary_log_file_name

レプリケーションマスター上のバイナリログの名前。レプリケーション情報が含まれます。

mysql_binary_log_file_location

mysql_binary_log_file_name バイナリログ内の場所。レプリケーションでは、この場所からレプリケーション情報の読み取りを開始します。

ssl_encryption

このオプションは、現在実装されていません。 デフォルトは 0 です。

使用に関する注意事項

mysql.rds_set_external_master プロシージャは、マスターユーザーが実行してください。また、このストアドプロシージャは、Amazon RDS の外部で動作する MySQL インスタンスのリードレプリカとして設定される MySQL DB インスタンス上で実行する必要があります。

mysql.rds_set_external_master を実行する前に、Amazon RDS の外部で動作する MySQL インスタンスをレプリケーションマスターとして必ず設定してください。Amazon RDS の外部で動作する MySQL インスタンスに接続するには、MySQL の外部インスタンスの REPLICATION CLIENT および REPLICATION SLAVE アクセス権限を持つレプリケーションユーザーを示す replication_user_name および replication_user_password の値を指定する必要があります。

MySQL の外部インスタンスをレプリケーションマスターとして設定するには

  1. 選択した MySQL クライアントを使用して、MySQL の外部インスタンスに接続し、レプリケーションに使用されるユーザーアカウントを作成します。次に例を示します。

    Copy
    CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED BY 'SomePassW0rd'
  2. MySQL の外部インスタンスで、REPLICATION CLIENTREPLICATION SLAVE の特権をレプリケーションユーザーに付与します。次の例では、ドメインの 「repl_user」ユーザーに、すべてのデータベースの REPLICATION CLIENT および REPLICATION SLAVE 特権を付与します。

    Copy
    GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com' IDENTIFIED BY 'SomePassW0rd'

詳細については、「Amazon RDS の外部で実行される MySQL または MariaDB インスタンスとのレプリケーション」を参照してください。

注記

可能であれば、2 つの Amazon RDS DB インスタンス間のレプリケーションの管理にはリードレプリカを使用し、Amazon RDS DB インスタンス間のより複雑なレプリケーショントポロジーを有効にするには、これとその他のレプリケーション関連ストアドプロシージャのみを使用することをお勧めします。これらのストアドプロシージャは、主に Amazon RDS 外部で実行されている MySQL インスタンスのレプリケーションの有効化のために提供されています。Amazon RDS DB インスタンス間でのレプリケーションの管理の詳細については、「PostgreSQL、MySQL、および MariaDB リードレプリカの使用」を参照してください。

mysql.rds_set_external_master を呼び出し、Amazon RDS DB インスタンスをリードレプリカとして設定した後で、レプリカで mysql.rds_start_replication を呼び出してレプリケーションプロセスを開始します。mysql.rds_reset_external_master を呼び出して、リードレプリカの設定を削除することもできます。

mysql.rds_set_external_master が呼び出されると、Amazon RDS では、時刻、ユーザー、"マスターの設定" アクションが mysql.rds_history テーブルと mysql.rds_replication_status テーブルに記録されます。

mysql.rds_set_external_master プロシージャは、以下のバージョンの Amazon RDS MySQL で利用できます。

  • MySQL 5.5

  • MySQL 5.6

  • MySQL 5.7

MySQL DB インスタンス上で実行すると、DB インスタンスが Amazon RDS の外部で動作する MySQL インスタンスのリードレプリカとして設定されます。次に例を示します。

Copy
call mysql.rds_set_external_master( 'Externaldb.some.com', 3306, 'repl_user'@'mydomain.com', 'SomePassW0rd', 'mysql-bin-changelog.0777', 120, 0);

関連トピック