According to the docs, "MySQL supports replication from one release series to the next higher release series. For example, you can replicate from a master running MySQL 5.6 to a slave running MySQL 5.7". In theory, this also means that a 5.6 master can replicate to a 5.7 slave, which in turn replicates to a MySQL 8 slave. I'm assuming that the intermediate 5.7 server will write to its bin-logs in the 5.7 format, which will allow its 8.0 slave to replicate from it. Is that the case?

I'm doing this because I have a 5.6 instance that I want to upgrade to the latest mysql 8 with minimal downtime. I'd rather not upgrade incrementally, in order to only create a single short swapping downtime (the time it takes to turn of all writes on the master and promote the slave, and route traffic to it.)

  • 1
    Its a good plan. I'd try it. Without having tested it before I wouldn't commit to 100% success. I'm looking forward to you reporting success/failure/difficult points. – danblack Apr 1 '20 at 0:23

Follow-up: we ended up doing the migration as I described in my question. We ran into no issues except minor ones related to change in behavior between version. The replication setup worked perfectly. This was done on RDS.

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.