加入收藏 | 设为首页 | 会员中心 | 我要投稿 西安站长网 (https://www.029zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

官方工具|MySQL Router高可用原理与实战

发布时间:2019-10-24 04:38:50 所属栏目:建站 来源:民工哥
导读:副标题#e# 【大咖·来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》 Mysql route介绍 什么是mysql route MySQL Router是处于应用client和dbserver之间的轻量级代理程序,它能检测,分析和转发查询到后端数据库实例,并把结果返回给client。是mysq

3、验证写:可以看到每次写都是写到主节点

官方工具|MySQL Router高可用原理与实战

从库down机测试

下面是从库down机测试截图,可以看到两个节点都正常的情况下,是轮训从两个从库取数据,如果其中一个从库故障,那么mysql router会自动下线故障的从库,如果从库恢复,mysql router会自动把从库上线。

官方工具|MySQL Router高可用原理与实战

主主故障切换测试

验证:正常情况下数据写入都是写到主库

官方工具|MySQL Router高可用原理与实战

我们手动停止主库的mysql服务,模拟故障,再次写入,可以看到写入数据的节点是主库的备份节点。

官方工具|MySQL Router高可用原理与实战

注意:

1、备份从库不能打开read-only = on,不然切换之后写入会报错

2、第一台主库DOWN后,MySQL Router如何处理?

默认情况下第一台主数据库为写主库,当第一台主数据库DOWN机后,第二台数据库被提升为主库,稍后如果第一台主库被修复后,那么默认仍然连接第二台为主库进行读写,不会自动切回到第一台主库。

3、如果第一台主数据库被修复后,又希望切换回第一台主库,怎么办?

可以重启MySQL Router

主主故障切换的坑

Mysql router的主主故障切换如果是运行在一主一从的情况下,从库作为主库的备份,这种情况是使用mysql router主主故障切换是没有问题的,但是在一主多从的情况下使用主主故障切换就会处在如下问题。

官方工具|MySQL Router高可用原理与实战

在一主多从的情况,如果主库down机,切换到备份节点,其他从库的主库地址连接还是故障的主库,这样就会造成一个从库slave_io线程connecting状态,造成复制延迟。我之前的主库地址是192.168.10.11,备份主库地址是192.168.10.12,但是主库故障之后,mysql route可以把写请求路由到新的主库,但是从库尝试连接的主库还是192.168.10.11,这种情况是正常的,因为mysql router主主故障切换原理就是这样,但是生产环境就不能这么玩了。

解决办法:

1、在切换时需要自己编写脚本触发一个shell脚本或者event来处理重连的问题。

2、不使用mysql router主主故障转移功能,而是自己使用其他方式保证mysql主库高可用。

(编辑:西安站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读