メニュー
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 の値を指定する必要があります。

To configure an external instance of MySQL as a replication master

  1. Using the MySQL client of your choice, connect to the external instance of MySQL and create a user account to be used for replication. The following is an example:

    Copy
    CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED BY 'SomePassW0rd'
  2. On the external instance of MySQL, grant REPLICATION CLIENT and REPLICATION SLAVE privileges to your replication user. The following example grants REPLICATION CLIENT and REPLICATION SLAVE privileges on all databases for the 'repl_user' user for your domain:

    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 (バージョン 5.5.33 以降)

  • MySQL 5.6 (バージョン 5.6.13 以降)

  • MySQL 5.7 (バージョン 5.7.10 以降)

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);

関連トピック