使用 MariaDB 配置延迟复制
可以使用延迟复制作为灾难恢复策略。使用延迟复制,可指定最短的时间(以秒为单位)以延迟从源到只读副本的复制。如果出现灾难(如意外删除了表),可完成以下步骤以快速从灾难恢复:
-
在导致灾难的更改发送到它之前停止复制到只读副本。
要停止复制,请使用 mysql.rds_stop_replication 存储过程。
-
按照将只读副本提升为独立的数据库实例中的说明,将只读副本提升为新的源数据库实例。
注意
-
MariaDB 10.6 及更高版本支持延迟复制。
-
使用存储过程配置延迟复制。无法使用AWS Management Console、AWS CLI 或 Amazon RDS API 配置延迟复制。
-
您可以在延迟复制配置中使用基于全局事务标识符 (GTID) 的复制。
在创建只读副本时配置延迟复制
要为未来通过数据库实例创建的任何只读副本配置延迟复制,请使用 mysql.rds_set_configuration 参数运行 target delay
存储过程。
在创建只读副本时配置延迟复制
-
通过使用 MariaDB 客户端,以主用户身份连接到作为只读副本源的 MariaDB 数据库实例。
-
使用 mysql.rds_set_configuration 参数运行
target delay
存储过程。例如,运行以下存储过程,针对从当前数据库实例创建的任何只读副本,指定将复制延迟至少一小时(3600 秒)。
call mysql.rds_set_configuration('target delay', 3600);
注意
运行此存储过程之后,将为使用 AWS CLI 或 Amazon RDS API 创建的任何只读副本配置延迟指定秒数的复制。
修改现有只读副本的延迟复制
要修改现有只读副本的延迟复制,请运行 mysql.rds_set_source_delay 存储过程。
修改现有只读副本的延迟复制
-
使用 MariaDB 客户端,以主用户的身份连接到只读副本。
-
使用 mysql.rds_stop_replication 存储过程停止复制。
-
运行 mysql.rds_set_source_delay 存储过程。
例如,运行以下存储过程,指定复制到只读副本延迟至少一小时(3600 秒)。
call mysql.rds_set_source_delay(3600);
-
使用 mysql.rds_start_replication 存储过程开始复制。
提升只读副本
在灾难恢复方案中,当复制停止后,您可以将只读副本提升为新的源数据库实例。有关提升只读副本的信息,请参阅 将只读副本提升为独立的数据库实例。