前言:
我们在 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 天,但 [任何地方] 都没有提到这个错误。
我的问题:
- 这是一个好主意吗?(将二进制日志备份到 S3 ..)
- 可以以更好的方式完成吗?(〜无限时间点数据库恢复)
- 我该怎么办?
PS:生产数据库和这个测试数据库正在发生这种情况
PS2:我注意到这不是直接的编程问题,而是与之相关的。请不要从 SO 移动/关闭到 serverfault 之类的地方。谢谢