I've recently configured a replication with an external MySQL master and RDS as slave but now I need to reverse that config and use RDS as master and the other instance as slave. Actually I use a vpn and the other instance is outside AWS.

I changed the server host and password but I got this error:

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

Perhaps I didn't get the right log filename and postion? but I can't find them in to RDS

Many thanks for your help


For RDS to have binlogs, there are a couple non-obvious tricks. First, you need to set the "backup retention period" to at least 1 day. This turns on binlogging.

Then, in order to prevent a ridiculous rollover rate in the logs:

call mysql.rds_set_configuration('binlog retention hours', 24);

Here's some documentation that Amazon provides for dumping the database and starting up the replication: http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Procedural.Exporting.NonRDSRepl.html


I just set up replication from an Aurora instance to a 5.7 MySQL RDS instance following this guide provided by AWS,


Though there is Aurora in the title, it has relevant information for setting up an external slave from both Aurora and regular MySQL RDS.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy