访问 MySQL 二进制日志
可使用 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
Amazon RDS 通常会尽快清除二进制日志,但二进制日志必须仍在实例上提供,供 mysqlbinlog 访问。若要指定 RDS 保留二进制日志的小时数,请使用 mysql.rds_set_configuration 存储过程并指定一个包含的时间足以让您下载这些日志的时间段。设置保留期后,监视数据库实例的存储用量以确认保留的二进制日志不会占用太多存储空间。
以下示例将保留期设置为 1 天。
call mysql.rds_set_configuration('binlog retention hours', 24);
要显示当前设置,请使用 mysql.rds_show_configuration 存储过程。
call mysql.rds_show_configuration;