可使用 mysqlbinlog 实用程序从 RDS for MySQL 数据库实例下载或流式传输二进制日志。二进制日志下载到本地计算机,可以执行一些操作,例如使用 mysql 实用程序执行重放日志。有关使用 mysqlbinlog 实用程序的更多信息,请参阅 MySQL 文档中的使用 mysqlbinlog 备份二进制日志文件
要针对 Amazon RDS 实例运行 mysqlbinlog 实用工具,请使用下列选项:
-
--read-from-remote-server
– 必需。 -
--host
– 来自实例的端点的 DNS 名称。 -
--port
– 实例使用的端口。 -
--user
– 已获得REPLICATION SLAVE
权限的 MySQL 用户。 -
--password
– MySQL 用户的密码,或忽略密码值以让实用程序提示您输入密码。 -
--raw
– 以二进制格式下载文件。 -
--result-file
– 用于接收原始输出的本地文件。 -
--stop-never
– 流式传输二进制日志文件。 -
--verbose
– 使用ROW
二进制日志格式时,包括此选项以将行事件视为伪 SQL 语句。有关--verbose
选项的更多信息,请参阅 MySQL 文档中的 mysqlbinlog 行事件显示。 -
指定一个或多个二进制日志文件的名称。要获取可用日志的列表,请使用 SQL 命令
SHOW BINARY LOGS
。
有关 mysqlbinlog 选项的更多信息,请参阅 MySQL 文档中的 mysqlbinlog - 处理二进制日志文件的实用程序
以下示例显示如何使用 mysqlbinlog 实用程序。
对于 Linux、macOS 或 Unix:
mysqlbinlog \ --read-from-remote-server \ --host=MySQLInstance1.cg034hpkmmjt.region.rds.amazonaws.com \ --port=3306 \ --user ReplUser \ --password \ --raw \ --verbose \ --result-file=/tmp/ \ binlog.00098
对于 Windows:
mysqlbinlog ^ --read-from-remote-server ^ --host=MySQLInstance1.cg034hpkmmjt.region.rds.amazonaws.com ^ --port=3306 ^ --user ReplUser ^ --password ^ --raw ^ --verbose ^ --result-file=/tmp/ ^ binlog.00098
数据库实例上的二进制日志必须保持可用,以备 mysqlbinlog 实用程序访问。要确保这些日志的可用性,请使用 mysql.rds_set_configuration 存储过程并指定一个时段,以便您有足够的时间来下载日志。如果未设置此配置,Amazon RDS 会尽可能快地清除二进制日志,导致 mysqlbinlog 实用程序检索的二进制日志出现空白。
以下示例将保留期设置为 1 天。
call mysql.rds_set_configuration('binlog retention hours', 24);
要显示当前设置,请使用 mysql.rds_show_configuration 存储过程。
call mysql.rds_show_configuration;