使用mycat 读写分离mysql

机器准备


1、mysql 主从配置

http://blog.csdn.net/convict_eva/article/details/51734853

    主  192.168.192.128
    从   192.168.192.129

2、mycat服务器     192.168.192.133
安装jdk
下载mycat(mycat 社区 http://www.mycat.org.cn/),并解压到/usr/local目录下

3、修改/usr/local/mycat/conf/schema.xml 配置



       
               
       


     
     

     
                        writeType="0" dbType="mysql" dbDriver="native" switchType="2"  slaveThreshold="100">
                show slave status
                192.168.192.128:3306" user="root" password="Abc123!@#">

                192.168.192.129:3306" user="root" password="Abc123!@#">
       


启动mycat
# ./bin/mycat start

4、 测试
主数据库数据:
mysql>  select * from tb_a;
+------+
| a    |
+------+
|    1 |
|    1 |
|    1 |
|    1 |
|    2 |
|    3 |
|    5 |
+------+

从数据库数据:
mysql>  select * from tb_a;
+------+
| a    |
+------+
|    1 |
|    1 |
|    1 |
|    1 |
|    2 |
|    3 |
|    4 |
|    5 |
+------+

通过客户端工具连接mycat,mycat默认端口为8066,和直接连接mysql是一样的。用户名和密码在conf/server.xml 中配置文件中找到。

       
                user
                TESTDB
                false
       

配置 schema.xml 中的schema 可以被那个用户访问。name:user   Password:user

通过工具连接后,查询出的数据是从数据库的数据。当停止主库时可以自动切换(要满足切换的条件)到从库。



踩到的坑:
1、数据库的密码有 & 符号,启动时报xml 解析异常。
2、mycat jvm的配置放在wrapper.conf 文件中,默认的虚拟机内存大小为1G--4G,由于使用的是虚拟机所以启动前要修改下jvm内存设置


mycat 主从的另一种方式,当write 挂了读不可用。

                        writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
                show slave status
               
                         
               

       


你可能感兴趣的:(mysql,mycat)