主库宕机 Master DOWN 机-企业场景一主多从宕机从库切换主继续和从同步过程详解mysql
登录从库,show processlist;sql
查看两个线程的更新状态;数据库
查看全部从库中,查看vim
/application/mysql-5.6.20/data/mysql.info;服务器
确保更新完毕,看看两个从库中哪一个库最快,通过测试没有延迟的状况POS差距很小,甚至一致的;app
而后选取其中POS最大的做为主库;ide
一、确保全部relay log 所有更新完毕测试
在每一个从库上执行 stop slave io_thread; show processlist;ui
直到看到Has read all relay log;表示从库更新执行完毕:spa
二、登录POS值最大的从库执行以下命令:
mysql -uroot -p123456 -S /application/mysql-5.6.20/mysql.sock
stop slave;
retset master;
quit;
三、进到数据库数据目录,删除master.info relay-log.info
cd /application/mysql-5.6.20/data
rm -f master.info relay-log.info
检查受权表,read-only等参数
四、提高从库为主库
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
到此为止,提高主库完毕。
五、若是主库服务器没宕机,须要去主库binlog补全,提高主库为从库
六、其余从库操做
已检查(同步user rep均存在)
登录从库
stop slave
cahnge master to master_host='10.0.0.7; // 若是不一样步,就指定位置点
start slave;
show slave status\G
七、修改程序的配置文件从主数据库到从数据库(如今新的主库)
平时访问数据库用域名,则直接能够修改hosts解析
八、修理损坏的主库,完成后做为从库使用,或者切换
咱们如今讲的是主库意外宕机,例如咱们有计划切换,怎么作呢?
1)主库锁表
2)登录全部的库查看同步状态,是否完成
后面操做与前面同1至4步骤