mysql copy模式_mysql复制模式第三部分-----树形模式

级联复制模式

由于在主从复制模式中主数据库的连接数是有限的,按照通用准则,在主服务器接近满载时,不应该为其建立10个以上的从库。一个好的方式是在主库与从库之间设置多个分发主库,移除主库的负载压力。分发主库的作用就是为从库提供主库的二进制日志。

我在配置主从服务器时,使用了两台服务器:10.19.34.126、10.19.34.127、10.19.34.91、10.19.34.92。其中10.19.34.126为master、10.19.34.127为repl、10.19.34.91为slaveA、10.19.34.92为slaveB。

1、在master上安装mysql服务器。

2、设置master的my.conf文件:

log-bin= mysql-bin #所有的数据操作写入二进制日志,便于将sql语句同步到中继日志

lserver-id=1

3、在master上创建从库同步master数据的账号:

MySQL>grant all on *.* to 'root'@'%' identified by '123456';

4、在repl数据库上设置my.conf文件:

log-bin= mysql-bin #所有的数据操作写入二进制日志,便于将sql语句同步到中继日志

log_slave_updates=1 #该参数用来设置将中继日志中的操作传入二进制日志,以便于该从数据库作为其他实例的主库。

replay_log=mysql-replay-bin #用来存储中继日志

server-id=2

5、在master数据库上查看呢二进制文件的更新点:

MySQL> show master status;

d7377c76bb03b013b7b8f40a432d83eb.png

6、在repl上创建从库同步repl数据的账号:

MySQL>grant all on *.* to 'root'@'%' identified by '123456';

7、在repl数据库上设置同步master数据库的同步点:

MySQL> stop slave;

MySQL> CHANGE MASTER TO MASTER_HOST="10.19.34.126",MASTER_USER="root",MASTER_PASSWORD="123456",MASTER_PORT=3306,MASTER_LOG_FILE="mysql-bin.000003",MASTER_LOG_POS=393044781,MASTER_CONNECT_RETRY=10;

MySQL> start slave;

8、在slaveA和slaveB上设置my.conf文件:

slaveA的my.conf:

log-bin= mysql-bin #所有的数据操作写入二进制日志,便于将sql语句同步到中继日志

replay_log=mysql-replay-bin #用来存储中继日志

server-id=3

slaveB的my.conf:

log-bin= mysql-bin #所有的数据操作写入二进制日志,便于将sql语句同步到中继日志

replay_log=mysql-replay-bin #用来存储中继日志

server-id=4

9、查看repl的二进制文件的更新点:

MySQL> show master status;

a46e5e2d4a20b4a5f7c510cbe93e51e9.png

10、在slaveA和slaveB上设置从repl的同步点:

MySQL> stop slave;

MySQL> CHANGE MASTER TO MASTER_HOST="10.19.34.127",MASTER_USER="root",MASTER_PASSWORD="123456",MASTER_PORT=3306,MASTER_LOG_FILE=" mysql-bin.000004",MASTER_LOG_POS=393044425 ,MASTER_CONNECT_RETRY=10;

MySQL> start slave;

过滤复制模式

过滤复制可以将整个数据中心通过对数据的过滤,同步到不同的从数据库上,使客户端对数据的请求负载得到分散,并且在同步数据时,每个从库只同步部分数据,在一定程度上提高了主库的能力。例如在主数据库上保存着整个数据中心的数据,为了分担主数据库的压力,每个从库只同步部分数据,可以将读请求分散到从数据库。

1、过滤模式的服务器:10.19.34.126为master(包含user、department、message三个数据库)、10.19.34.127为slaveA(只同步user数据库)、10.19.34.91为slaveB(只同步department数据库)、10.19.34.92为slaveC(只同步message数据库)。

2、过滤模式的配置文件:

slaveA的my.conf

log-bin= mysql-bin #所有的数据操作写入二进制日志,便于将sql语句同步到中继日志

replay_log=mysql-replay-bin #用来存储中继日志

replicat-do-db=user //该参数会设置将该数据库的变化同步到中继日志中,将该数据库的变化在备库上执行。

slaveB的my.conf

log-bin= mysql-bin #所有的数据操作写入二进制日志,便于将sql语句同步到中继日志

replay_log=mysql-replay-bin #用来存储中继日志

replicat-do-db=department //该参数会设置将该数据库的变化同步到中继日志中,将该数据库的变化在备库上执行。

slaveC的my.conf

log-bin= mysql-bin #所有的数据操作写入二进制日志,便于将sql语句同步到中继日志

replay_log=mysql-replay-bin #用来存储中继日志

replicat-do-db=message //该参数会设置将该数据库的变化同步到中继日志中,将该数据库的变化在备库上执行。

4、其他的配置信息按照主从复制的配置进行设置启动即可。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值