- Upgrade the slave -- This will have the Slave offline for minute(s). This step may include
mysql_upgrade
.
- Change the configuration to be Master-Master -- binlog, log_slave_updates, etc, on both servers.
- Failover -- This will have the Master offline for minute(s). This also involves getting writing clients to point at the new Master. (Presumably, you already have failover procedures in place and tested.)
- Upgrade the former Master (now the Slave)
Optionally failback.
With only 2 nodes there will be short downtimes. With some more advanced clustering techniques, plus a proxy, the downtime is less. But never absolute zero. See Group Replication or Galera.
You may as well leave it Master-Master instead of Master-Slave. This avoids needing to do step 2 again. However, you should set the Master that is not being written to to read_only
.