mysql复制过滤原理_mysql的复制集群和复制过滤器讲解

前言

无论是在一个web站点还是其他需要数据库的业务系统中,数据库的重要性是毋庸置疑的。但是关系型数据库收到自身设计的限制,本身的性能可能会成为拉低整个平台的瓶颈。而且数据库作为系统重要的一环,必须避免数据库的单点故障。由此mysql数据库的集群就显得至关重要。

集群分类及分析

mysql复制集群总体可以分为如下几类:

主从复制集群:主服务器负责数据写入,从服务器负责读操作,这样可以整体降低主服务器的压力,而且可以提高访问性能;

双主或多主集群:两台或多台mysql服务器同时都提供读写操作;

半同步集群:一台服务器和主服务器采用同步写入的方式,当主服务器宕机这台服务器提升为主服务器;

级联复制集群:多级复制集群,降低主服务器的压力;

循环集群

...

此文主要讨论主从复制集群、双主集群和半同步集群的配置方法。

在一定程度上复制集群确实能够解决mysql的性能问题和单点问题,但是却也面临着更多其他问题:

当mysql集群运行一定时间之后可能会面临主从服务器数据不一致,从服务器数据滞后于主服务器的问题,这是由mysql复制集群的特点所决定的;

双主或多主复制集群,如果两台服务器同时发生基于一个字段的修改,可能会发生数据的重复修改问题,导致数据不一致;

...

mysql复制集群的原理

mysql复制集群是基于如下原理进行的:

主服务器所有的操作都写入二进制日志,从服务器开启中继日志和两个线程:

sql_thread:负责从中继日志读取内容,然后replay到数据库中;

io_thread:负责连接主服务器,把主服务器的二进制日志复制到自己的中继日志;

9d0ef57a2f7c2f25bc07e65d472bb304.png

mysql复制集群配置方法

主从复制集群

此处采用两台mysql服务器,一台为主,一台为从;

首先配置主服务器:

修改/etc/my.cnf.d/server.conf,添加server_id和开启binary-log:如下:log_bin=master-log```

登录mysql,然后添加一个有复

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值