我最近配置了一个外部 MySQL 主服务器和 RDS 作为从服务器的复制,但现在我需要反转该配置并使用 RDS 作为主服务器,另一个实例作为从服务器。实际上我使用 vpn,另一个实例在 AWS 之外。
我更改了服务器主机和密码,但出现此错误:
141103 11:35:44 [ERROR] Error reading packet from server: Binary log is not open ( server_errno=1236)
141103 11:35:44 [ERROR] Slave I/O: Got fatal error 1236 from master when reading data from binary log: 'Binary log is not open', Error_code: 1236
141103 11:35:44 [Note] Slave I/O thread exiting, read up to log 'mysql-bin.000007', position 284079763
141103 11:37:09 [Note] Error reading relay log event: slave SQL thread was killed
也许我没有获得正确的日志文件名和位置?但我无法在 RDS 中找到它们。
答案1
找到正确的位置有点棘手。
- 启动 RDS 只读副本
- 使用以下方式手动停止复制
mysql.rds_stop_replication
- 用于
mysql> SHOW SLAVE STATUS\G
获取下一步所需的信息 - 该
Exec_Master_Log_Pos
变量将告诉您从属服务器当前的主 binlog 位置 - binlog 文件名可以在变量中找到
Relay_Master_Log_File
另一个建议:请谨慎使用此设置。AWS 不正式支持对外部从属设备运行永久复制。请参阅...
http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Procedural.Exporting.NonRDSRepl.html