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.)
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.