MyCat+MySQL实现高可用读写分离(实测记录)

一.测试环境

创建两台CentOS7虚机,部署两套MySQL数据库配置主从同步,直接在主库服务器安装mycat进行测试。

主库:192.168.216.128 port:3306
从库:192.168.216.129 port:3306

1.下载MyCat安装文件上传至主库服务器M

Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz
百度网盘:https://pan.baidu.com/s/1Xeyno8pRomT__AvmzcvKnQ
提取码:hmhc

  • 上传成功后解压至/home目录下
    tar -zxvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz

2.配置环境变量

  • vim /etc/profile
export PATH=/home/mycat/bin:$PATH
  • source /etc/profile

3.修改MyCat配置文件

  • vim /home/mycat/conf/server.xml
      
        
                123456
                test
        
     
        
                user123
                test
                true
        
  • vim /home/mycat/conf/schems.xml

        
        
        
        
        
        
        
        
        
        
        
            
            select user()
            
            
                
            
            
            
        

4.启动MyCat : mycat start

二.关键配置项

mycat/conf目录下 MyCat的核心配置文件schems.xml

属性 状态 说明
balance 表示负载模式
balance 0 不开启读写分离机制,所有读操作都发送到当前可用的writeHost上。
balance 1 全部的readHost与stand by writeHost参与select语句的负载均衡。简单的说当双主双从模式(M1->S1,M2->S2,并且M1与M2互为主备),正常情况下,M2,S1,S2都参与select语句的负载均衡。
balance 2 所有读操作都随机的在writeHost、readhost上分发。
balance 3 所有读请求随机的分发到wiriterHost对应的readhost执行,writerHost不负担读压力
writeType 表示写模式
writeType 0 所有的操作发送到配置的第一个writehost
writeType 1 随机发送到配置的所有writehost
writeType 2 不执行写操作
switchType 指的是切换模式,目前的取值也有4种。
switchType -1 表示不自动切换
switchType 1 默认值,表示自动切换
switchType 2 基于MySQL主从同步的状态决定是否切换,心跳语句为show slave status
switchType 3 基于MySQL galary cluster的切换机制(适合集群)(1.4.1),心跳语句为show status like ‘wsrep%‘。

三.测试记录

采用 banlance =1,writeType = 0 ,switchType = 1的配置模式

1.使主库宕机 service mysql stop;
结果:读写转移至从库,mycat正常连接。
2.恢复主库运行service mysql start
结果:mycat依旧采用从库进行读写未重新接入主库

四.参考

配置属性详解-https://www.cnblogs.com/alan319/p/10556995.html

你可能感兴趣的:(MyCat+MySQL实现高可用读写分离(实测记录))