MyCat配置MySQL读写分离--入门

1、MySQL主从配置

主数据库:192.168.8.104  ,从数据库:192.168.8.105

参考 https://blog.csdn.net/u013792404/article/details/91591585

2、下载MyCat  mycat-1.6.7 (使用mycat需要先安装JDK)

http://www.mycat.io/

什么是MYCAT

  • 一个彻底开源的,面向企业应用开发的大数据库集群
  • 支持事务、ACID、可以替代MySQL的加强版数据库
  • 一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群
  • 一个融合内存缓存技术、NoSQL技术、HDFS大数据的新型SQL Server
  • 结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品
  • 一个新颖的数据库中间件产品

 

 

3、创建mycat用户

useradd  mycat 

chown mycat:mycat -R  mycat-1.6.7

 

配置环境变量: vim /etc/profile

MyCat配置MySQL读写分离--入门_第1张图片

 

4、修改配置文件

MyCat配置MySQL读写分离--入门_第2张图片

 

1、修改  conf/schema.xml    配置数据库相关内容





        
        
        
        
        
        
                select user()
                
                
                        
                        
                
                
                
        
      

       

MyCat配置MySQL读写分离--入门_第3张图片

 

 

2、修改 conf/server.xml   配置MyCat用户名和密码





        
        0 
        1
        0  
        0  

                2
        false 
        3307

。。。。。
。。。。。


        
                123456
                BOOK

                
                
        

        
                123456
                BOOK
                true
        


MyCat配置MySQL读写分离--入门_第4张图片

MyCat配置MySQL读写分离--入门_第5张图片

 

 

 

3、启动MyCat

bin下面文件都加上执行权限

[mycat@CentOS-04 mycat-1.6.7]$ cd /usr/local/mycat-1.6.7/bin/
[mycat@CentOS-04 bin]$ chmod +x *
[mycat@CentOS-04 bin]$ ll
total 384
-rwxr-xr-x. 1 mycat mycat   3567 Jun 13 09:56 dataMigrate.sh
-rwxr-xr-x. 1 mycat mycat   1225 Jun 13 09:56 init_zk_data.sh
-rwxr-xr-x. 1 mycat mycat  15714 Jun 13 09:56 mycat
-rwxr-xr-x. 1 mycat mycat   2941 Jun 13 09:56 rehash.sh
-rwxr-xr-x. 1 mycat mycat   2496 Jun 13 09:56 startup_nowrap.sh
-rwxr-xr-x. 1 mycat mycat 140198 Jun 13 09:56 wrapper-linux-ppc-64
-rwxr-xr-x. 1 mycat mycat  99401 Jun 13 09:56 wrapper-linux-x86-32
-rwxr-xr-x. 1 mycat mycat 111027 Jun 13 09:56 wrapper-linux-x86-64
[mycat@CentOS-04 bin]$ 

启动

查看是否启动成功:

MyCat配置MySQL读写分离--入门_第6张图片

 

查看日志:

cd /usr/local/mycat-1.6.7/

没有logs目录自己创建

tail  -100f   ./wrapper.log

tail  -100f   ./logs/wrapper.log

tail  -100f   ./logs/mycat.log

MyCat配置MySQL读写分离--入门_第7张图片

 

 

4、连接测试 

MyCat配置MySQL读写分离--入门_第8张图片 MyCat配置MySQL读写分离--入门_第9张图片

插入数据后,104和105数据库中都有数据。

 

 

MyCat配置MySQL读写分离--入门_第10张图片 MyCat配置MySQL读写分离--入门_第11张图片

用readonly用户登陆, 插入数据报错,(uer  readonly)

 

在实际项目开发时,只需要将原本配置数据库的url/username/password  换成 mycat 即可。 

 

 

 

6、相关配置

参考MyCat官方文档: MyCat权威指南  http://www.mycat.io/document/mycat-definitive-guide.pdf

dataHost 标签的相关属性

7.6.4 balance 属性
负载均衡类型,目前的取值有 3 种:
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",所有读请求随机的分发到 wiriterHost 对应的 readhost 执行,writerHost 不负担读压力,
注意 balance=3 只在 1.4 及其以后版本有,1.3 没有。

 

7.6.5 writeType 属性
负载均衡类型,目前的取值有 3 种:
1. writeType="0", 所有写操作发送到配置的第一个 writeHost,第一个挂了切到还生存的第二个 writeHost,
重新启动后已切换后的为准,切换记录在配置文件中:dnindex.properties .
2. writeType="1",所有写操作都随机的发送到配置的 writeHost,1.5 以后废弃不推荐。switchType 属

- -1 表示不自动切换。
- 1 默认值,自动切换。
- 2 基于 MySQL 主从同步的状态决定是否切换

 

7.6.8 switchType 属性
-1 表示不自动切换
1 默认值,自动切换
2 基于 MySQL 主从同步的状态决定是否切换
心跳语句为 show slave status
3 基于 MySQL galary cluster 的切换机制(适合集群)(1.4.1)
心跳语句为 show status like ‘wsrep%’

 

7.7.1 writeHost 标签、readHost 标签
这两个标签都指定后端数据库的相关配置给 mycat,用于实例化后端连接池。唯一不同的是,writeHost 指
定写实例、readHost 指定读实例,组着这些读写实例来满足系统的要求。
78 
在一个 dataHost 内可以定义多个 writeHost 和 readHost。但是,如果 writeHost 指定的后端数据库宕机,
那么这个 writeHost 绑定的所有 readHost 都将不可用。另一方面,由于这个 writeHost 宕机系统会自动的检测
到,并切换到备用的 writeHost 上去。

 

更多介绍参考官方文档

 

你可能感兴趣的:(MySQL)