Steps to move from gtid on_permissive to on?

​Hi,

Right now I have a 5.6.19 master, slave setup. My task to is move to 5.7 with GTID on.

At the moment I’ve got the following working, names and setup slightly simplified for the purpose of the post:

master1 (5.6.19, gtid off)

  • slave1 (5.6.19, gtid off)
  • slave2 (5.6.19, gtid off)
  • newmaster1 (5.7.13, gtid on_permissive, master = master1)
  • newslave1 (5.7.13, gtid on_permissive, master = newmaster1)
  • newslave2 (5.7.13, gtid on_permissive, master = newmaster1)

That’s working and replicating all the way down, but, the next step is I want gtid = on across the new slaves. I’m aware (if I’ve understood the docs correctly) I can’t change newmaster1 until it’s not slaving from a gtid = off server. There will be a full outage to move from master1 to newmaster1 at some point.

Can I change the newslave’s to be gtid = on or will the slave io thread fail?

What are the best next steps?

Thanks in advance,
Ian