序言:
我们在AWS使用RDS来管理我们的MySQL数据库。我知道RDS会创建用于复制的二进制日志。我希望获取这些二进制日志,并将它们存储在S3上,以便在任何时候,我都可以恢复到一个非站点数据库并重播这些操作。
问题:
我扩展了一个新的RDS实例,并尝试了以下内容。
root@aws_test_server:/root# mysqlbinlog -h testing.xxxxxxxx.eu-west-1.rds.amazonaws.com -u myuser -p --read-from-remote-server -t mysql-bin-changelog.000002
Enter password:
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
ERROR: Got error reading packet from server: Could not find first log file name in binary log index file
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
root@aws_test_server:/root#因此,二进制日志可以很好地检索,但是请参阅二进制日志中的错误。这是什么意思?
我搜索了大约2天,发现任何地方都没有提到这个错误。
我的问题:
PS:这发生在生产数据库和测试数据库中。
PS2:我注意到这并不是一个直接的编程问题,但是与它有关。请不要移动/关闭这样的地方,如服务器故障。谢谢
发布于 2015-04-30 13:04:58
今天也遇到了同样的问题。Amazon通常会尽快清除二进制日志。,若要增加binlog保留时间,应运行查询。
呼叫mysql.rds_set_configuration(“二进制日志保持时间”,24);
发布于 2020-11-08 00:22:04
我也犯了同样的错误,但在搜索或尝试其他建议的修复程序时,我什么也找不到。我得找个AWS技术员帮忙。解决方案是将参数'binlog_checksum‘设置为NONE。它默认为CRC32。
技术员:
binlog_checksum用于通过设置binlog_checksum系统变量为事件编写校验和。当读取二进制日志时,源默认使用事件长度,但如果通过在副本上启用master_verify_checksum系统variable.The复制I/O线程,则可以使用校验和来验证从源接收的事件。通过启用slave_sql_verify_checksum系统变量,可以使复制SQL线程在读取中继日志时使用校验和。
若要设置参数,请转到RDS实例。导航到配置并查找它所属的参数组。转到参数组并搜索"binlog_checksum“。
https://stackoverflow.com/questions/22797278
复制相似问题