I'm running a MySQL server 5.5.44, and I'd need to sync its data to a new server running MySQL 5.7.13 using master-slave. The idea is to bring both DBs synced until we migrate to the second, newer server, achieving a close to zero downtime.

The issue is not about how to prepare the master-slave. The issue comes when I want to sync the data, but change the engine of many tables in our slave server. Specifically, moving them from MyISAM to InnoDB.

These tables are larger than 1Gb, one being 14Gb, which would lead in a lock for more than 8 hours. My idea was to do any structural optimisation in the slave server, but I'm afraid this might compromise the whole master-slave thing.

Do you know if this is possible?

1 Answer 1


This should not a problem, provided you do not execute any DDL related to the Storage Engine on the Master.

I have written about this many times

NOTE ABOUT MySQL 5.5 to 5.7 Replication

DATETIME in MySQL 5.6+ has been expanded to accommodate microseconds. Please change the binlog_format on both Master and Slave to STATEMENT to avert any issue with replication breaking due to DATETIME value (See my old posts mysql replication master 5.5 slave 5.1 error on create database AND enable log_bin_use_v1_row_events in mysql 5.6)

  • Indeed! I just did it minutes ago. Sure, it stalls the slave for a while, but the master isn't affected by that. Thanks! Jul 1, 2016 at 14:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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