Mysqll双主双从配置
前提:准备4台互连的mysql机器
1.master1配置
修改配置文件:vim /etc/my.cnf#主服务器唯一ID
server-id=1
#启用二进制日志
log-bin=mysql-bin
#设置不要复制的数据库(可设置多个)
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
#设置需要复制的数据库
binlog-do-db=需要复制的主数据库名字
#设置logbin格式 binlog_format=STATEMENT
#在作为从数据库的时候,有写入操作也要更新二进制日志文件 log-slave-updates
#表示自增长字段每次递增的量,指自增字段的起始值,其默认值是1,取值范围是1 … 65535 auto-increment-increment=2
#表示自增长字段从哪个数开始,指字段一次递增多少,他的取值范围是1 … 65535 auto-increment-offset=1
2.master2配置
修改配置文件:vim /etc/my.cnf#主服务器唯一ID server-id=3
#启用二进制日志
log-bin=mysql-bin
#设置不要复制的数据库(可设置多个)
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
#设置需要复制的数据库
binlog-do-db=需要复制的主数据库名字
#设置logbin格式 binlog_format=STATEMENT
#在作为从数据库的时候,有写入操作也要更新二进制日志文件 log-slave-updates
#表示自增长字段每次递增的量,指自增字段的起始值,其默认值是1,取值范围是1 … 65535 auto-increment-increment=2
#表示自增长字段从哪个数开始,指字段一次递增多少,他的取值范围是1 … 65535 auto-increment-offset=2
3.两台从机配置
Slave1配置
修改配置文件:vim /etc/my.cnf
#从服务器唯一ID
server-id=2
#启用中继日志
relay-log=mysql-relaySlave2配置
修改配置文件:vim /etc/my.cnf
#从服务器唯一ID
server-id=4
#启用中继日志
relay-log=mysql-relay4.重启mysql,关闭服务器防火墙
5.两台主机建立授权账号slave
#在主机MySQL里执行授权命令
GRANT REPLICATION SLAVE ON . TO ‘slave’@’%’ IDENTIFIED BY ‘123123’;
#查询Master1的状态
show master status;
6.分别建立slave1->master1 slave2->master2的主从配置
7.两台master互为主备
8.停止主从配置
stop slave;
reset master;
9.修改mycat的schema.xml文件修改的balance属性为1
负载均衡类型,目前的取值有4 种:
(1) balance=“0”, 不开启读写分离机制,所有读操作都发送到当前可用的 writeHost 上。
(2) balance=“1”,全部的 readHost 与 stand by writeHost 参与 select 语句的负载均衡,简单的说,当双主双从模式(M1->S1,M2->S2,并且 M1 与 M2 互为主备),正常情况下,M2,S1,S2 都参与 select 语句的负载均衡。
(3) balance=“2”,所有读操作都随机的在 writeHost、readhost 上分发。
(4) balance=“3”,所有读请求随机的分发到 readhost 执行,writerHost 不负担读压力
10.下面就是配置:
select user()