Safely changing innodb_buffer_pool_size on MySQL replication master?
What you have seems fine. I would add the following

Run this on the Master.

SET GLOBAL innodb_fast_shutdown = 0;
SET GLOBAL sync_binlog = 1;
SET GLOBAL sync_master_info = 1;


This will cause everything that has been uncommitted to be committed on shutdown.

Then, it flushes the binlogs to disk.

On the Slaves, run this

SET GLOBAL innodb_fast_shutdown = 0;
SET GLOBAL sync_binlog = 1;
SET GLOBAL sync_relay_log = 1;
SET GLOBAL sync_relay_log-info = 1;
SET GLOBAL sync_master_info = 1;


This will flush all the binlogs and relay logs. If the Slaves do not have binary logging enabled, then skip SET GLOBAL sync_binlog = 1;.

Your steps look like this now:


Stop replication on the 2 slave servers with STOP SLAVE.
Run SET GLOBAL innodb_fast_shutdown = 0; on all three servers
Run SET GLOBAL sync_binlog = 1; on the Master
Run SET GLOBAL sync_master_info = 1; SET GLOBAL sync_relay_log = 1; SET GLOBAL sync_relay_log-info = 1; SET GLOBAL sync_master_info = 1; on the Slave
Stop MySQL on all 3 servers with service mysql stop.
Make the changes in the my.cnf file on the master server.
Start MySQL on the master again to get the live database back online ASAP with service mysql start.
Make the changes in the my.cnf file in both the slave servers.
Start MySQL again on both slave servers with service mysql start.