双主双从,MyCAT读写分离

思路:拿出四台虚拟机,两台作为master主服务器,两台作为slave从服务器,两台主服务器之前互为主从,两台从服务器则配置从服务器。

流程:具体流程查看上一部主从复制流程

1.配置四台服务器的环境:本地域名解析,环境清理mysql数据库,修改主机名,关闭防火墙selinux,同步时间,固定ip

2.配置主配置服务器:对于主服务器master1,进行如下配置

  • 创建binlog目录,并赋予mysql权限
  • 在配置文件中启动二进制日志binlog功能:log-bin=/home/binlog/mysql-bin
  • 设置server-id参数为1:server-id = 1
  • (binlog日志只能读取一次,如若双主双从则必须添加log-slave-updates,此时所有的从库都可读取同步内容)
  • 配置其他相关参数,如数据库地址,端口号,用户名,密码

 3.配置主从关系:在主服务器maste1上创建一个新的复制用户,并为其授权

mysql> GRANT REPLICATION SLAVE ON *.*  TO  'repl'@'%'  identified by '123';
将复制的权限给与此用户

4.show master status\G查看主服务器master1的binlog信息:连接到主服务器master2中,并执行以下命令拉取master1的信息,在master2中配置并记录

mysql>\e (\e中输入以下内容)
CHANGE MASTER TO
  MASTER_HOST='主机名',
  MASTER_USER='用户名',
  MASTER_PASSWORD='密码',
  MASTER_PORT=3306,
  MASTER_LOG_FILE='主服务器1当前的binlog文件名',
  MASTER_LOG_POS=master1当前的binlog位置,
  MASTER_CONNECT_RETRY=10;

5.启动主从复制:在master2中:  start slave;   (如若出现故障可 reset slave; 重置slave)

6.配置master2:重复以上操作

7.在从库slave中重复第4部操作即可完成双主双从.

MyCAT读写分离

准备好另一台虚拟机在双主双从操作的基础上进行如下操作

1.下载JDK与MyCAT

2.解压两文件至 /usr/local下 ,并改名JDK为JAVA

[root@mycat ~]# tar -xf jdk-8u181-linux-x64.tar.gz   -C  /usr/local/

[root@mycat ~]# tar xf Mycat-server-1.6.5-release-20180122220033-linux.tar.gz -C /usr/local/

3.配置JDK环境变量


[root@localhost ~]# vi /etc/profile  环境变量配置文件
[root@localhost ~]# source /etc/profile   刷新环境变量
[root@localhost ~]# java -version   查看java环境变量

4.配置mycat

vi server.xml

 vim  schema.xml

/usr/local/mycat/bin/mycat   start  启动mycat 

测试

断开主从,在四个库中分别添加text1-text4表,一个库一个,然后改变balance值,测试值带来的效果

balance 属性
负载均衡类型,目前的取值有 4种:
1. balance="0", 不开启读写分离机制,所有读操作都发送到当前可用的 writeHost 上。(每次测试只能显示text1)
2. balance="1", 全部的 readHost 与 stand by writeHost 参与 select 语句的负载均衡,简单的说,当双主双从模式(M1->S1,M2->S2,并且 M1 与 M2 (互为主备),正常情况下,M2,S1,S2 都参与 select 语句的负载均衡。(每次测试只能分次显示text2-text4)
4. balance="2", 所有读操作都随机的在 writeHost、readhost 上分发。(四个表分次全部显示)
5. balance="3", 所有读请求随机的分发到 writerHost 对应的 readhost 执行,writerHost 不负担读压力,注意 balance=3 只在 1.4 及其以后版本有,1.3 没有。(只显示读库,text3,text4)

writeType 属性
负载均衡类型
 writeType="0", 所有写操作发送到配置的第一个 writeHost,第一个挂了切到还生存的第二个writeHost,重新启动后已切换后的为准.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值