1、确保所有relay log 全部更新完毕
在每个从库上执行 stop slave io_thread; show processlist;
直到看到Has read all relay log;表示从库更新执行完毕:
2、登陆POS值最大的从库执行如下命令:
mysql -uroot -p123456 -S /application/mysql-5.6.20/mysql.sock
stop slave;
retset master;
quit;
3、进到数据库数据目录,删除master.info relay-log.info
cd /application/mysql-5.6.20/data
rm -f master.info relay-log.info
检查授权表,read-only等参数
4、提升从库为主库
vim /application/mysql-5.6.20/my.cnf
开启:
log-bin = /application/mysql-5.6.20/mysql-bin
//如果不存在log-slave-updates read-only等一定要注释掉它。
/application/mysql-5.6.20/mysql restart
到此为止,提升主库完毕。
5、如果主库服务器没宕机,需要去主库binlog补全,提升主库为从库
6、其他从库操作
已检查(同步user rep均存在)
登陆从库
stop slave
cahnge master to master_host='10.0.0.7; // 如果不同步,就指定位置点
start slave;
show slave status\G
7、修改程序的配置文件从主数据库到从数据库(现在新的主库)
8、修理损坏的主库,完成后作为从库使用,或者切换