mysql树形模式
Posted 没昵称可用
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;
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;
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、其他的配置信息按照主从复制的配置进行设置启动即可。
以上是关于mysql树形模式的主要内容,如果未能解决你的问题,请参考以下文章