我们来模拟一下,如果主机宕机了,那我们该如何让从快速替换,让损失降到最小?
解决方案:
一主多从的环境下,如果主宕机了,选一台从做主,继续和其它从同步。
1-查看每个从库的master.info,看谁的更靠前,最新,更大,丢的数据最少。
cat /application/mysql/data/master.info
mysql-bin.000015
326
2-确保所有relay log全部更新完毕。
在每个从库上执行:stop slave io_thread; show processlist;
直到看到Has read all relay log;表示从库更新都执行完毕。
3-登陆某从库mysql -uroot -pxxxxxx。
stop slave;
reset master;
quit;
4-进入某从库数据库目录,删除master.info和relay-log.info。
cd /application/mysql/data/
rm -f master.info relay-log.info
5-最终某从库提升为主库。
vim /etc/my.cnf
开启log-bin = mysql-bin
如果存在log-slave-updates,read-only等一定要注释。
重启数据库:/etc/init.d/mysqld restart
6-其它从库操作。
stop slave;
change master to master_host ='172.16.1.100';
start slave;
show slave status\G