加入收藏 | 设为首页 | 会员中心 | 我要投稿 辽源站长网 (https://www.0437zz.com/)- 云专线、云连接、智能数据、边缘计算、数据安全!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL同步复制及高可用方案总结

发布时间:2019-10-21 06:07:44 所属栏目:MySql教程 来源:民工哥
导读:1.前言 mysql作为应用程序的数据存储服务,要实现mysql数据库的高可用。必然要使用的技术就是数据库的复制,如果主节点出现故障可以手动的切换应用到从节点,这点相信运维同学都是知道,并且可以实现的。但是这种情况只是手动的切换,对可用性有要求的业务

MySQL Router是处于应用client和dbserver之间的轻量级代理程序,它能检测,分析和转发查询到后端数据库实例,并把结果返回给client。是mysql-proxy的一个替代品。其架构图和功能如下。

MySQL同步复制及高可用方案总结

(1)Router实现读写分离,程序不是直接连接数据库IP,而是固定连接到mysql router。MySQL Router对前端应用是透明的。应用程序把MySQL Router当作是普通的mysql实例,把查询发给MySQL Router,而MySQL Router会把查询结果返回给前端的应用程序。

(2)从数据库服务器故障,业务可以正常运行。由MySQL Router来进行自动下线不可用服务器。程序配置不需要任何修改。

(3)主数据库故障,由MySQL Router来决定主从自动切换,业务可以正常访问。程序配置不需要做任何修改。

5.2.读写分离原理

MySQL Router接受前端应用程序请求后,根据不同的端口来区分读写,把连接读写端口的所有查询发往主库,把连接只读端口的select查询以轮询方式发往多个从库,从而实现读写分离的目的。读写返回的结果会交给MySQL Router,由MySQL Router返回给客户端的应用程序。

5.3.Mysql router用途

MySQL Router的主要用途是读写分离,主主故障自动切换,负载均衡,连接池等。

5.4.Mysql router主主故障自动切换的坑

Mysql router主主故障切换功能经过测试没有问题,但是有一个比较大的坑需要注意,主库发生切换之后,从库的连接的master服务器地址不会发生改变,需要自己写脚本进行判断。

5.5.优点

(1)基于DAL层实现mysql的高可用。

(2)可以同时实现主主故障切换和读写分离。

(3)插件式架构允许用户进行额外的功能扩展。

5.6.缺点

(1)高可用功能需要进一步完善:存在主库切换之后,从库不会自动切换主库地址的坑。

(2)读写情况使用不同端口,需要修改应用程序。

6.mysql Cluster

国内用的非常少,主要因为一下三点:

(1)需要更改存储引擎

(2)付费

(3)国内几乎没有使用案例

优点:

高可用,可用率达99.999%

6.1.结束语

上面的高可用方案,只是我自己比较熟悉的,而且也是应用比较多的。mysql毕竟发展了有20多年了,各种高可用方案还是很多的,其他的高可用方案各位钥匙有兴趣,可以自己研究。

【编辑推荐】

  1. MongoDB与MySQL:如何选择
  2. 分享7个实用脚本--Oracle数据库游标数总结
  3. 10大DBA必备的免费数据库监控和查询工具
  4. 分布式及高可用元数据采集原理
  5. 亚马逊彻底去掉 Oracle 数据库:迁移完成
【责任编辑:庞桂玉 TEL:(010)68476606】
点赞 0

(编辑:辽源站长网)

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

推荐文章
    热点阅读