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

将数据导入到 Amazon RDS MySQL 或 MariaDB 数据库实例中,同时减少停机时间

在将数据从支持活动应用程序的外部 MySQL 或 MariaDB 数据库导入到 Amazon RDS MySQL 或 MariaDB 数据库实例时,可使用以下过程来最大程度地减小对应用程序可用性产生的影响。如果您使用的是大型数据库,此过程也很有用,因为您可以减少通过网络传输到 AWS 的数据量,从而降低导入成本。

在此过程中,您将数据库数据的副本传输到 Amazon EC2 实例,并将数据导入到新的 Amazon RDS 数据库实例中。然后,您将使用复制功能使 Amazon RDS 数据库实例与活动的外部实例保持同步,再将应用程序重定向到 Amazon RDS 数据库实例。如果外部实例是 MariaDB 10.0.2 或更高版本,并且目标实例是 Amazon RDS MariaDB,您将基于全局事务标识符 (GTID) 配置 MariaDB 复制,否则将基于二进制日志坐标配置复制。如果您的外部数据库支持基于 GTID 的复制 (鉴于其增强的防崩溃功能),我们建议您采用该复制。有关更多信息,请参阅 MariaDB 文档中的全局事务处理 ID

注意

由于潜在的复制问题,建议您不要将此过程用于 5.1 版本之前的 MySQL 版本中的源 MySQL 数据库。有关更多信息,请参阅 MySQL 文档中的 MySQL 版本之间的复制兼容性

创建现有数据库的副本

在实现最少停机时间的情况下,要将大量数据迁移到 Amazon RDS MySQL 或 MariaDB 数据库实例,第一步是创建源数据的副本。

您可以使用 mysqldump 实用工具创建 SQL 或分隔的文本格式的数据库备份。您应在非生产环境中对每种格式运行测试,以便了解哪种方法能最大程度地减少 mysqldump 运行的时间。

您还应针对将分隔文本格式用于加载所获得的好处来权衡 mysqldump 性能。使用分隔的文本格式的备份将为所转储的每个表创建制表符分隔的文本文件。您可以使用 LOAD DATA LOCAL INFILE 命令并行加载这些文件,以减少导入数据库所需的时间。有关选择 mysqldump 格式并加载数据的更多信息,请参阅 MySQL 文档中的使用 mysqldump 进行备份

在开始备份操作之前,您必须对将复制到 Amazon RDS 的 MySQL 或 MariaDB 数据库设置复制选项。复制选项包括启用二进制日志记录和设置唯一的服务器 ID。设置这些选项将促使您的服务器开始日志记录数据库事务,并做好在此过程的后面充当复制主体的准备。

注意

在创建备份副本时,您的数据库需要停止以设置复制选项并处于只读模式中,因此,您需要为这些操作安排一个维护时段。

设置复制选项

  1. 编辑 my.cnf 文件 (此文件通常位于 /etc 下):

    Copy
    sudo vi /etc/my.cnf

    log_binserver_id 选项添加到 [mysqld] 节。log_bin 选项为二进制日志文件提供文件名标识符。server_id 选项为主-副本关系中的服务器提供唯一标识符。

    以下示例显示 my.cnf 文件的已更新的 [mysqld] 节:

    Copy
    [mysqld] log-bin=mysql-bin server-id=1

    有关更多信息,请参阅 MySQL 文档中的设置复制主配置

  2. 重新启动 mysql 服务:

    Copy
    sudo service mysqld restart

创建现有数据库的备份副本

  1. 使用 mysqldump 实用工具创建数据备份,并指定 SQL 或分隔的文本格式。

    若要创建可用于启动服务器间复制的备份文件,您必须指定 --master-data=2。有关更多信息,请参阅 mysqldump 文档。

    要提高性能和确保数据完整性,请使用 mysqldump--order-by-primary--single-transaction 选项。

    要避免在备份中包括 MySQL 系统数据库,请不要将 --all-databases 选项与 mysqldump 结合使用。有关更多信息,请参阅 MySQL 文档中的使用 mysqldump 创建转储快照

    如有必要,可使用 chmod 确保要在其中创建备份文件的目录可写。

    重要

    在 Windows 中,以管理员身份运行命令窗口。

    • 要生成 SQL 输出,请使用以下命令:

      针对 Linux、OS X 或 Unix:

      Copy
      sudo mysqldump \ --databases <database_name> \ --master-data=2 \ --single-transaction \ --order-by-primary \ -r backup.sql \ -u <local_user> \ -p <password>

      对于 Windows:

      Copy
      mysqldump ^ --databases <database_name> ^ --master-data=2 ^ --single-transaction ^ --order-by-primary ^ -r backup.sql ^ -u <local_user> ^ -p <password>
    • 要生成分隔的文本输出,请使用以下命令:

      针对 Linux、OS X 或 Unix:

      Copy
      sudo mysqldump \ --tab=<target_directory> \ --fields-terminated-by ',' \ --fields-enclosed-by '"' \ --lines-terminated-by 0x0d0a \ <database_name> \ --master-data=2 \ --single-transaction \ --order-by-primary \ -p <password>

      对于 Windows:

      Copy
      mysqldump ^ --tab=<target_directory> ^ --fields-terminated-by ',' ^ --fields-enclosed-by '"' ^ --lines-terminated-by 0x0d0a ^ <database_name> ^ --master-data=2 ^ --single-transaction ^ --order-by-primary ^ -p <password>

      注意

      您必须在 Amazon RDS 数据库中手动创建任何存储过程、触发器、函数或事件。如果您所复制的数据库中有上述任一对象,请在运行 mysqldump 时排除这些对象,方式是将以下参数与 mysqldump 命令一起包含:--routines=0 --triggers=0 --events=0

      如果使用的是分隔的文本格式,则在您运行 mysqldump 时,将返回 CHANGE MASTER TO 注释。此注释包含主日志文件名称和位置。如果外部实例是 MariaDB 10.0.2 版或更高版本以外的实例,请记下 MASTER_LOG_FILE 和 MASTER_LOG_POS 的值;在设置复制时,您将需要这些值。

      Copy
      -- Position to start replication or point-in-time recovery from -- -- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin-changelog.000031', MASTER_LOG_POS=107;

      如果您使用的是 SQL 格式,则可以在 在外部数据库和新的 Amazon RDS 数据库实例之间进行复制 上的过程的步骤 4 中获得主日志文件名称和位置。如果外部实例是 MariaDB 10.0.2 版或更高版本,则可在下一个步骤中获得 GTID。

  2. 如果您使用的外部实例是 MariaDB 10.0.2 版或更高版本,您将使用基于 GTID 的复制。在外部 MariaDB 实例上运行 SHOW MASTER STATUS 以获取二进制日志文件名称和位置,然后通过在外部 MariaDB 实例上运行 BINLOG_GTID_POS 将它们转换为 GTID:

    Copy
    SELECT BINLOG_GTID_POS('<binary log file name>', <binary log file position>);

    请记下返回的 GTID,您需要它来配置复制。

  3. 压缩复制后的数据可减少将数据复制到 Amazon RDS 数据库实例所需的网络资源量。记下备份文件的大小,您在确定要创建的 Amazon EC2 实例的大小时需要此信息。完成操作后,请使用 GZIP 或您的首选压缩实用工具来压缩备份文件。

    • 要压缩 SQL 输出,请使用以下命令:

      Copy
      gzip backup.sql
    • 要压缩分隔的文本输出,请使用以下命令:

      Copy
      tar -zcvf backup.tar.gz <target_directory>

创建 Amazon EC2 实例和复制压缩的数据库

将压缩的数据库备份文件复制到 Amazon EC2 实例所占用的网络资源少于直接在数据库实例之间复制未压缩的数据所占用的网络资源。在您的数据位于 Amazon EC2 中后,可以直接从中将数据复制到 Amazon RDS MySQL 或 MariaDB 数据库实例。请注意,若要节省网络资源成本,您的 Amazon EC2 实例必须位于 Amazon RDS 数据库实例所在的区域内。使 Amazon EC2 实例位于 Amazon RDS 数据库实例所在的区域内,可以减少导入期间的网络延迟。

创建 Amazon EC2 实例并复制数据

  1. 在您将在其中创建 RDS 数据库实例以运行 MySQL 数据库引擎的区域,创建 VPC、VPC 安全组和 VPC 子网。确保您的 VPC 安全组的入站规则允许应用程序连接到 AWS 所需的 IP 地址。这可能是一系列 IP 地址 (例如 203.0.113.0/24),或是另一个 VPC 安全组。您可以使用 Amazon VPC 管理控制台创建和管理 VPC、子网和安全组。有关更多信息,请参阅 Amazon Virtual Private Cloud 入门指南中的 Amazon VPC 入门

    注意

    旧的 AWS 账户也可在 Amazon EC2-Classic 模式下启动实例。在此情况下,确保您的 Amazon RDS 实例的数据库安全组中的入站规则允许使用 Amazon EC2 私有 IP 地址访问 EC2-Classic 实例。有关更多信息,请参阅 使用数据库安全组 (EC2-Classic 平台)

  2. 打开 Amazon EC2 管理控制台,选择将包含您的 Amazon EC2 实例和 Amazon RDS 数据库实例的区域。使用您在步骤 1 中创建的 VPC、子网和安全组来启动 Amazon EC2 实例。在数据库备份文件未压缩的情况下,确保为该文件选择具有足够存储空间的实例类型。有关 Amazon EC2 实例的详细信息,请参阅适用于 Linux 的 Amazon Elastic Compute Cloud 用户指南中的 Amazon EC2 Linux 实例入门

  3. 要从 Amazon EC2 实例连接到 Amazon RDS 数据库实例,您需要编辑 VPC 安全组,然后添加入站规则,指定 EC2 实例的私有 IP 地址。您可以在 EC2 控制台窗口中的 Instance 窗格的 Details 选项卡上找到私有 IP 地址。要编辑 VPC 安全组并添加入站规则,请在 EC2 控制台导航窗格中选择 Security Groups,然后为 MySQL/Aurora 添加指定 EC2 实例的私有 IP 地址的入站规则。要了解如何向 VPC 安全组添加入站规则,请参阅添加并删除规则

  4. 将压缩后的数据库备份文件从本地系统复制到 Amazon EC2 实例中。如有必要,可使用 chmod 确保您具有 Amazon EC2 实例的目标目录的写入权限。您可以使用 scp 或 SSH 客户端复制文件。以下是示例:

    Copy
    $ scp -r -i <key pair>.pem backup.sql.gz ec2-user@<EC2 DNS>:/<target_directory>/backup.sql.gz

    重要

    务必使用安全网络传输协议来复制敏感数据。

  5. 连接到 Amazon EC2 实例,并使用以下命令安装最新更新和 MySQL 客户端工具:

    Copy
    sudo yum update -y sudo yum install mysql-server -y

    有关更多信息,请参阅适用于 Linux 的 Amazon Elastic Compute Cloud 用户指南中的连接到您的实例

  6. 在连接到 Amazon EC2 实例时,请解压缩数据库备份文件。例如:

    • 要解压缩 SQL 输出,请使用以下命令:

      Copy
      gzip backup.sql.gz -d
    • 要解压缩分隔的文本输出,请使用以下命令:

      Copy
      tar xzvf backup.tar.gz

创建 Amazon RDS MySQL 或 MariaDB 数据库实例,并从 Amazon EC2 实例导入数据

通过在 Amazon EC2 实例所在的区域内创建 Amazon RDS MySQL 或 MariaDB 数据库实例,可以从 Amazon EC2 导入数据库备份文件,此情况下导入文件的速度快于通过网络导入文件的速度。

创建 Amazon RDS MySQL 或 MariaDB 数据库实例并导入数据

  1. 确定支持此 Amazon RDS 数据库实例的预期工作负载所需的数据库实例类和存储空间量。此过程应包括决定数据加载过程所需的足够空间量和处理能力以及处理生产工作负载所需的项。可以根据源 MySQL 或 MariaDB 数据库的大小和资源来进行估计。有关更多信息,请参阅 数据库实例类

  2. 确定是否需要 Amazon RDS 预置的每秒输入/输出操作数 (IOPS) 以支持工作负载。预置的 IOPS 存储可为 I/O 密集型的在线事务处理 (OLTP) 工作负载提供快速吞吐量。有关更多信息,请参阅 用于提高性能的 Amazon RDS 预配置 IOPS 存储

  3. 打开 Amazon RDS 控制台。在右上角,选择包含 Amazon EC2 实例的区域。

  4. 选择 Launch a DB Instance,然后完成所需步骤以选择数据库实例的选项:

    1. Select Engine 页面上,根据需要选择 MySQLMariaDB

    2. Do you plan to use this database for production purposes? 页面上,选择 No 以跳过配置多可用区部署和预配置 IOPS 存储。

    3. Specify DB Details 页面上的 Instance Specifications 部分中,指定您确定合适的数据库实例类和分配的存储大小。对于 Multi-AZ Deployment,选择 No。按照您在步骤 2 中所做的决定来指定是否使用预置的 IOPS。对于 DB Engine Version,选择与源 MySQL 实例兼容的版本,如下所示:

      • 如果源实例是 MySQL 5.1.x,则 Amazon RDS 数据库实例必须是 MySQL 5.5.x。

      • 如果源实例是 MySQL 5.5.x,则 Amazon RDS 数据库实例必须是 MySQL 5.5.x 或更高版本。

      • 如果源实例是 MySQL 5.6.x,则 Amazon RDS 数据库实例必须是 MySQL 5.6.x 或 MariaDB。

      • 如果源实例是 MySQL 5.7.x,则 Amazon RDS 数据库实例必须是 MySQL 5.7.x、5.6.x 或 MariaDB。

      • 如果源实例是 MariaDB 5.1.、5.2 或 5.3,则 Amazon RDS 数据库实例必须是 MySQL 5.1.x。

      • 如果源实例是 MariaDB 5.5.x 或更高版本,则 Amazon RDS 数据库实例必须是 MariaDB。

      重要

      如果源 MySQL 5.6.x 实例运行版本 5.6.4 之前的版本,或者,如果源 MySQL 实例是从版本 5.6.4 之前的版本升级得到的,则必须创建运行版本 5.6.27 或更高版本的 Amazon RDS MySQL 数据库实例。

      接受此部分中的所有其他框的默认值。

      Settings 部分中,指定请求的数据库和用户信息。完成后选择 Next

    4. Configure Advanced Settings 页的 Network & Security 部分中,选择与 Amazon EC2 实例相同的 VPC 和 VPC 安全组。此方式将确保 Amazon EC2 实例和 Amazon RDS 实例可通过网络相互可见。将 Publicly Accessible 设置为 Yes。您的数据库实例必须可供公开访问,才能设置您的源数据库副本,具体如本主题之后所述。接受此部分中的所有其他框的默认值。

      Database Options 部分中,指定数据库名称。接受此部分中的所有其他框的默认值。

      Backup 部分中,将备份保留期设置为 0。接受此部分中的所有其他框的默认值。

      Maintenance 部分中,接受所有框的默认值。完成操作后,选择 Launch Instance

    在导入数据库备份之前,不要配置多个可用区、备份保留或只读副本。在完成此导入操作后,您可以按所需方式为生产实例设置多可用区和备份保留。有关创建 Amazon RDS MySQL 数据库实例的详细演练,请参阅创建运行 MySQL 数据库引擎的数据库实例。有关创建 Amazon RDS MariaDB 数据库实例的详细演练,请参阅创建运行 MariaDB 数据库引擎的数据库实例

  5. 检查 Amazon RDS 数据库实例的默认配置选项。在 Amazon RDS 管理控制台左侧的导航窗格中,选择 Parameter Groups,然后选择 default.mysqlx.xdefault.mariadbx.x 参数组旁边的放大镜图标。如果此参数组没有所需的配置选项,请查找具有这些选项的参数组,或创建新的参数组。有关创建参数组的更多信息,请参阅使用数据库参数组。如果您决定使用默认参数组以外的参数组,请将该参数组与 Amazon RDS 数据库实例相关联。有关更多信息,请参阅 修改运行 MySQL 数据库引擎的数据库实例修改运行 MariaDB 数据库引擎的数据库实例

  6. 以主用户身份连接到新的 Amazon RDS 数据库实例,然后创建所需的用户,用于支持需要访问该实例的管理员、应用程序和服务。Amazon RDS 数据库实例的主机名为此实例的 Endpoint 值 (不包含端口号),例如 mysampledb.claxc2oy9ak1.us-west-2.rds.amazonaws.com。您可以在 Amazon RDS 管理控制台上的实例详细信息中找到终端节点值。

  7. 连接到您的 Amazon EC2 实例。有关更多信息,请参阅适用于 Linux 的 Amazon Elastic Compute Cloud 用户指南中的连接到您的实例

  8. 使用 mysql 命令以远程主机身份从 Amazon EC2 实例连接到 Amazon RDS 数据库实例。以下是示例:

    Copy
    mysql -h <host_name> -P 3306 -u <db_master_user> -p

    主机名是 Amazon RDS 数据库实例终端节点中的 DNS 名称。

  9. mysql 提示符下,运行 source 命令并将其传递给您的数据库转储文件名,以便将数据加载到 Amazon RDS 数据库实例中。

    • 对于 SQL 格式,请使用以下命令:

      Copy
      mysql> source backup.sql;
    • 对于分隔的文本格式,请先创建数据库 (如果它不是您在设置 Amazon RDS 数据库实例时创建的默认数据库):

      Copy
      $ mysql> create database <database_name>; $ mysql> use <database_name>;

      再创建表:

      Copy
      $ mysql> source <table1>.sql $ mysql> source <table2>.sql etc…

      然后导入数据:

      Copy
      $ mysql> LOAD DATA LOCAL INFILE 'table1.txt' INTO TABLE table1 FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '0x0d0a'; $ mysql> LOAD DATA LOCAL INFILE 'table2.txt' INTO TABLE table2 FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '0x0d0a'; etc…

      要提高性能,您可以从多个连接并行执行这些操作,以便同时创建并加载所有表。

      注意

      如果您在最初转储表时已将任何数据格式化选项与 mysqldump 结合使用,则必须将相同的选项与 mysqlimport 或 LOAD DATA LOCAL INFILE 结合使用以确保对数据文件内容的解释适当。

  10. 对导入的数据库中的一个或两个表运行简单 SELECT 查询以验证导入是否成功。

注意

如果您不再需要此过程中使用的 Amazon EC2 实例,应终止该 EC2 实例,以减少 Amazon AWS 资源使用。要终止 EC2 实例,请参阅终止实例

在外部数据库和新的 Amazon RDS 数据库实例之间进行复制

由于在将数据复制并传输到 Amazon RDS MySQL 或 MariaDB 数据库实例期间,源数据库可能已更新,因此您可以使用复制功能以使复制的数据库与源数据库保持同步。

注意

对 Amazon RDS 数据库实例启动复制功能所需的权限受到限制且对 Amazon RDS 主用户不可用。为此,您必须使用 Amazon RDS mysql.rds_set_external_master 命令或 mysql.rds_set_external_master_gtid 命令配置复制,并使用 mysql.rds_start_replication 命令启动活动数据库和 Amazon RDS 数据库之间的复制。

启动复制

之前,您已启用二进制日志记录并为源 数据库设置唯一服务器 ID。现在您可以将 Amazon RDS 数据库实例设置为副本,并将活动数据库作为复制主体。

  1. 在 Amazon RDS 管理控制台中,将承载源数据库的服务器的 IP 地址添加到 Amazon RDS 数据库实例的 VPC 安全组。有关修改 VPC 安全组的更多信息,请参阅 Amazon Virtual Private Cloud 用户指南中的您的 VPC 的安全组

    您可能还需要配置本地网络,以允许连接 Amazon RDS 数据库实例的 IP 地址,以便它能与源实例进行通信。要查找 Amazon RDS 数据库实例的 IP 地址,请使用 host 命令:

    Copy
    host <RDS_MySQL_DB_host_name>

    主机名是 Amazon RDS 数据库实例终端节点中的 DNS 名称,例如 myinstance.123456789012.us-east-1.rds.amazonaws.com。您可以在 Amazon RDS 管理控制台上的实例详细信息中找到终端节点值。

  2. 通过使用所选的客户端,连接到源实例并创建将用于复制的用户。此账户仅用于复制,并且必须仅供您的域使用以增强安全性。以下是示例:

    Copy
    CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED BY '<password>';
  3. 对于源 实例,向复制用户授予 REPLICATION CLIENTREPLICATION SLAVE 权限。例如,要向域的 repl_user 用户授予所有数据库的 REPLICATION CLIENTREPLICATION SLAVE 权限,请发出以下命令:

    Copy
    GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com' IDENTIFIED BY '<password>';
  4. 如果您使用 SQL 格式创建备份文件,并且外部实例不是 MariaDB 10.0.2 或更高版本,请查看该文件的内容:

    Copy
    cat backup.sql

    该文件包括 CHANGE MASTER TO 注释,其中包含主日志文件名称和位置。在将 --master-data 选项与 mysqldump 结合使用时,此注释将包含在备份文件中。记下 MASTER_LOG_FILE 和 MASTER_LOG_POS 的值。

    Copy
    -- -- Position to start replication or point-in-time recovery from -- -- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin-changelog.000031', MASTER_LOG_POS=107;

    如果您使用分隔文本格式创建备份文件,并且外部实例不是 MariaDB 10.0.2 或更高版本,您应该已在 创建现有数据库的备份副本 上的过程的步骤 1 中获得二进制日志坐标。

    如果外部实例是 MariaDB 10.0.2 或更高版本,您应该已在 创建现有数据库的备份副本 上的过程的步骤 2 中获得作为复制的起始点的 GTID。

  5. 将 Amazon RDS 数据库实例设置为副本。如果外部实例不是 MariaDB 10.0.2 或更高版本,请使用 mysql.rds_set_external_master 命令以主用户身份连接到 Amazon RDS 数据库实例,并将源数据库标识为复制主体。如果您具有 SQL 格式的备份文件,则使用您在上一步骤中确定的主日志文件名和主日志位置;如果您使用的是分隔的文本格式,则使用您在创建备份文件时确定的主日志文件名和主日志位置。以下是示例:

    Copy
    CALL mysql.rds_set_external_master ('mymasterserver.mydomain.com', 3306, 'repl_user', '<password>', 'mysql-bin-changelog.000031', 107, 0);

    如果外部实例是 MariaDB 10.0.2 或更高版本,请使用 mysql.rds_set_external_master_gtid 命令以主用户身份连接到 Amazon RDS 数据库实例,并将源数据库标识为复制主体。使用您在 创建现有数据库的备份副本 上的过程的步骤 2 中确定的 GTID。以下是示例:

    Copy
    CALL mysql.rds_set_external_master_gtid ('Sourcedb.some.com',3306,'ReplicationUser','SomePassW0rd','0-123-456',0);
  6. 在 Amazon RDS 数据库实例上,发出 mysql.rds_start_replication 命令以启动复制:

    Copy
    CALL mysql.rds_start_replication;
  7. 在 Amazon RDS 数据库实例上,运行 SHOW SLAVE STATUS 命令以确定副本何时与复制主体实现同步。SHOW SLAVE STATUS 命令的结果包含 Seconds_Behind_Master 字段。当 Seconds_Behind_Master 字段返回 0 时,副本将与主体保持同步。

  8. 在 Amazon RDS 数据库实例同步后,启用自动备份以便您能在需要时还原数据库。您可以使用 Amazon RDS 管理控制台启用或修改 Amazon RDS 数据库实例的自动备份。有关更多信息,请参阅 使用备份

将您的活动应用程序重定向到 Amazon RDS 实例

在 Amazon RDS MySQL 或 MariaDB 数据库实例与复制主体保持同步后,您可以更新活动应用程序以使用 Amazon RDS 实例。

将活动应用程序重定向到 Amazon RDS MySQL 或 MariaDB 数据库实例并停止复制

  1. 要添加 Amazon RDS 数据库实例的 VPC 安全组,请添加承载应用程序的服务器的 IP 地址。有关修改 VPC 安全组的更多信息,请参阅 Amazon Virtual Private Cloud 用户指南中的您的 VPC 的安全组

  2. 确认 SHOW SLAVE STATUS 命令结果中的 Seconds_Behind_Master 字段为 0,这表示副本与复制主体保持同步:

    Copy
    SHOW SLAVE STATUS;
  3. 使用 mysql.rds_stop_replication 命令停止复制 Amazon RDS 实例:

    Copy
    CALL mysql.rds_stop_replication;
  4. 更新应用程序以使用 Amazon RDS 数据库实例。此更新通常涉及更改连接设置以标识 Amazon RDS 数据库实例的主机名和端口、要连接的用户账户和密码以及要使用的数据库。

  5. 对 Amazon RDS 数据库实例运行 mysql.rds_reset_external_master 命令以重置复制配置,不再将该实例标识为副本:

    Copy
    CALL mysql.rds_reset_external_master;
  6. 启用其他 Amazon RDS 功能,例如多可用区支持和只读副本。有关更多信息,请参阅 高可用性 (多可用区) 使用 PostgreSQL、MySQL 和 MariaDB 只读副本

注意

如果您不再需要此过程中使用的 Amazon RDS 实例,应删除该 RDS 实例,以减少 Amazon AWS 资源使用。要删除 RDS 实例,请参阅删除数据库实例