DMS无锁变更获取备份失败,提示OpenSessionQueryLogEventsFail 无法设置binlog_rows_query_log_events
无锁变更过程中获取备份失败,提示“OpenSessionQueryLogEventsFail 无法设置binlog_rows_query_log_events”可能是因为您的数据库没有正确配置binlog_rows_query_log_events参数。这个参数负责记录执行的SQL语句到binlog中,是进行无锁变更所需的重要设置。
请确保您的数据库(尤其是RDS MySQL)已经开启了这个参数。如果使用的是PolarDB MySQL版,请参照相关文档开启Binlog。此外,也请检查Binlog的保留时间,确保在该时间段内获取备份数据,因为超过保留时长将无法获取。此回答整理自钉群“DMS数据管理用户交流1群”
原因是无法设置binlog_rows_query_log_events。这个问题通常与MySQL的binlog格式配置相关。
登录到MySQL服务器,检查当前的binlog格式设置。使用命令:SHOW VARIABLES LIKE 'binlog_format';
确认binlog_format是否为ROW。DMS无锁变更要求MySQL的binlog格式为ROW。
修改binlog格式: 如果binlog_format不是ROW,需要修改配置。在MySQL配置文件(如my.cnf或my.ini)中,加入或修改以下行:
[mysqld]
binlog_format = ROW
然后重启MySQL服务使配置生效。
验证更改: 重启服务后,再次运行SHOW VARIABLES LIKE 'binlog_format';确认设置已更改为ROW。
检查binlog_rows_query_log_events: 确保binlog_rows_query_log_events变量启用。这通常在ROW模式下默认开启,但仍建议验证:
SHOW VARIABLES LIKE 'binlog_rows_query_log_events';
如未开启,同样需要在配置文件中添加:
binlog_rows_query_log_events = 1
重启MySQL服务: 每次修改配置文件后,都需要重启MySQL服务以应用更改。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。