Question

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?

Was it helpful?

Solution

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)

Licensed under: CC-BY-SA with attribution
Not affiliated with dba.stackexchange
scroll top