Amazon Relational Database Service
用户指南 (API Version 2014-10-31)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

mysql.rds_set_external_master

将 MySQL 数据库实例配置为在 Amazon RDS 之外运行的 MySQL 实例的只读副本。

语法

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

参数

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 过程必须由主用户运行。它必须运行于一个 MySQL 数据库实例上,后者要配置为在 Amazon RDS 之外运行的 MySQL 实例的只读副本。

运行 mysql.rds_set_external_master 之前,您必须先将在 Amazon RDS 之外运行的 MySQL 实例配置为复制主体。要连接到在 Amazon RDS 之外运行的 MySQL 实例,您必须指定 replication_user_namereplication_user_password 值,这些值指示对 MySQL 的外部实例具有 REPLICATION CLIENTREPLICATION SLAVE 权限的复制用户。

将 MySQL 的外部实例配置为复制主体

  1. 通过使用所选的 MySQL 客户端,连接到 MySQL 的外部实例并创建要用于复制的用户账户。以下是示例:

    CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED BY 'SomePassW0rd'
  2. 对于 MySQL 的外部实例,向复制用户授予 REPLICATION CLIENTREPLICATION SLAVE 权限。以下示例向您所在域的“repl_user”用户授予对所有数据库的 REPLICATION CLIENTREPLICATION SLAVE 权限:

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

有关更多信息,请参阅 利用 Amazon RDS 外部运行的 MySQL 或 MariaDB 实例进行复制

注意

我们建议您尽可能使用只读副本管理两个 Amazon RDS 数据库实例之间的复制,并仅使用只读副本和其他与复制相关的存储过程在 Amazon RDS 数据库实例间进行更复杂的复制拓扑。这些存储过程主要用于实现与 Amazon RDS 之外的 MySQL 实例之间的复制。想要了解有关管理 Amazon RDS 数据库实例之间的复制的信息,请参阅 使用 PostgreSQL、MySQL 和 MariaDB 只读副本

在调用 mysql.rds_set_external_master 将 Amazon RDS 数据库实例配置为只读副本后,可对该副本调用 mysql.rds_start_replication 开始复制过程。您可以调用 mysql.rds_reset_external_master 删除只读副本配置。

调用 mysql.rds_set_external_master 时,Amazon RDS 将时间、用户和“设置主体”的操作记录在 mysql.rds_historymysql.rds_replication_status 表中。

mysql.rds_set_external_master 过程在以下版本的 Amazon RDS MySQL 中可用:

  • MySQL 5.5

  • MySQL 5.6

  • MySQL 5.7

示例

在 MySQL 数据库实例上运行时,下例将该数据库实例配置为在 Amazon RDS 之外运行的某个 MySQL 实例的只读副本。

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

相关主题