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、修理損壞的主庫,完成後作爲從庫使用,或者切換