百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> 解决mysql一主多从宕机从库切换主继续和从同步教程
分享文章到:

解决mysql一主多从宕机从库切换主继续和从同步教程

发布时间:01/15 来源: 浏览: 关键词:
下文来为各位介绍一篇关于mysql数据库一主多从宕机从库切换主继续和从同步教程,有兴趣的可以进来看看

目标:主库宕机了,从库提升为主库

准备环境:

1台web服务器

3台MySQL服务器

环境说明:

QQ20150902140934

1.web上跑着bbs网站服务,由MySQL-01提供数据库服务

2.MySQL-02和-03是MySQL-01的从库

突发事件:

这个时候,MySQL机器宕机,bbs.teddy.com是打不开的,提示无法连接数据库

一主多从宕机从库切换主继续和从同步过程步骤:

  • 确保所有的relay log全部更新完毕

在每个从库上执行stop slave io_thread; show processlist;

直到看到Has read all relay log,则表示从库更新都执行完毕了

QQ20150902134423QQ20150902134435

所有的relay log全部更新完毕

登陆所有从库,查看master.info文件,对比选择pos最大的作为新的主库,这里我们选择mysql-02为新的主库

  • 登陆mysql-02,执行stop slave; 并进入数据库目录,删除Info和relay-log.info文件, 配置my.cnf文件,开启log-bin,如果有log-slaves-updates和read-only则要注释掉;提升从库为主库,执行reset master,

QQ20150902134821

创建用于同步的用户

grant replication slave on *.* to rep@’10.0.0.%’ indentified by ‘123456’;
flush privileges;

创建用于bbs网站使用的用户

GRANT ALL ON bbs.* TO ‘bbs’@’Web-01’ IDENTIFIED BY ‘123456’;
flush privileges;

 

更新所有机器上的hosts文件

[root@web-01 teddylu]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
###########by teddylu###########
10.0.0.201     LVS-DR-01
10.0.0.202     LVS-DR-02
10.0.0.203     Web-01
10.0.0.204     Web-02
#10.0.0.205     MySQL-01
#10.0.0.206     MySQL-02
10.0.0.206     MySQL-01   #bbs的网站程序中关于数据库的信息里,MySQL-01是数据库的地址
10.0.0.207     NFS-Share

登陆其他从库操作,即mysql-03

CHANGE MASTER TO
MASTER_HOST=’10.0.0.205′,
MASTER_PORT=3306,
MASTER_USER=’rep’,
MASTER_PASSWORD=’123456′,
MASTER_LOG_FILE=’mysql-bin.000001′,
MASTER_LOG_POS=107;
start slave;

最后,检查是否主从同步了,网站是否能打开了

 总结:从主库宕机,到从库接管,一共只花费了不到3分钟的时间(如果前期的系统架构做的好的话,时间会更少)。通过master.info文件来确定新的主库,这样,你的数据库的一致性和完整性就更高

a

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有3人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板