mycat进行mysql读写分离

6 篇文章 0 订阅

打开链接下载mycat https://github.com/MyCATApache/Mycat-download/tree/master/1.6-RELEASE
选择win版。
mycat\conf\server.xml

    <user name="root">
        <property name="password">123456</property>
        <property name="schemas">TESTDB</property>

        <!-- 表级 DML 权限设置 -->
        <!--        
        <privileges check="false">
            <schema name="TESTDB" dml="0110" >
                <table name="tb01" dml="0000"></table>
                <table name="tb02" dml="1111"></table>
            </schema>
        </privileges>       
         -->
    </user>

    <user name="user">
        <property name="password">user</property>
        <property name="schemas">TESTDB</property>
        <property name="readOnly">true</property>
    </user>
<user>标签表示连接mycat的用户,使用mycat后我们的应用是连接mycat,再由mycat去连接mysql
所以接下来要在schema.xml中配置mysql信息
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
    <schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1">
        <!-- 这里不配置,代表所有的表分片到dn1节点-->
    </schema>
    <dataNode name="dn1" dataHost="localhost1" database="db1" />
    <dataHost name="localhost1" maxCon="1000" minCon="10" balance="1"
              writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
        <heartbeat>select user()</heartbeat>
        <!-- can have multi write hosts -->
        <writeHost host="hostM1" url="192.168.56.101:3306" user="root"  password="123456">
            <!-- can have multi read hosts -->
            <readHost host="hostS1" url="192.168.56.101:3316" user="root" password="123456" />
            <readHost host="hostS2" url="192.168.56.101:3326" user="root" password="123456" />
        </writeHost>
    </dataHost>
</mycat:schema>

server.xml中的
<property name="schemas">TESTDB</property>
与 schema.xml的 <schema name="TESTDB"对应。
schema.xml的
<dataNode name="dn1" dataHost="localhost1" database="db1" />
database表示数据库名

使用mysql命令连接到mycat 进行增删改查的操作
mysql -uroot -p -h127.0.0.1 -P8066 -DTESTDB

-P8066 mycat的默认端口 (默认数据端口为8066,管理端口为9066)
-DTESTDB schema名非库名

使用mysql命令连接到mycat 进行管理
命令:mysql -uroot -proot -P9066 -h127.0.0.1
  -u:用户名
  -p:密码
  -P:端口
  -h:ip地址例:linux路径切换到mycat安装路径的bin目录中:输入命令
2、显示后端物理库连接信息,包括当前连接数,端口等信息。
   命令:Show @@backend
3、显示当前前端客户端连接情况
  命令:Show @@connection
4、当前线程池的执行情况,是否有积压(active_count)以及task_queue_size,后者为积压的待处理的SQL,若积压数目一直保值,则说明后端物理连接可能不够或者SQL执行比较缓慢
  命令:show @@threadpool;
5、当前后端物理库的心跳检测情况,RS_CODE为1表示心跳正常
  命令:show @@heartbeat;
6、显示数据节点的访问情况,包括每个数据节点当前活动连接数(active),空闲连接数(idle)以及最大连接数(maxCon) size,EXECUTE参数表示从该节点获取连接的次数,次数越多,说明访问该节点越多
  命令:show @@datanode;
7、显示当前processors的处理情况,包括每个processor的IO吞吐量(NET_IN/NET_OUT)、IO队列的积压情况(R_QUEY/W_QUEUE),Socket Buffer Pool的使用情况 BU_PERCENT为已使用的百分比、BU_WARNS为Socket Buffer Pool不够时,临时创建的新的BUFFER的次数,若百分比经常超过90%并且BU_WARNS>0,则表明BUFFER不够,需要增大,参见性能调优手册。
  命令:show @@processor;
8、显示缓存的使用情况,对于性能监控和调优很有价值
  命令:show @@cache;
  MAX为缓存的最大值(记录个数),CUR为当前已经在缓存中的数量,ACESS为缓存读次数,HIT为缓存命中次数,PUT 为写缓存次数,LAST_XX为最后操作时间戳,比较重要的几个参数:CUR:若CUR接近MAX,而PUT大于MAX很多,则表明MAX需要增大,HIT/ACCESS为缓存命中率,这个值越高越好。

9、杀掉客户端的连接,参数为连接的ID值,通过show @@connection,可以展示当前连接到MyCAT的所有客户端进程,若某个进程异常,则可以通过该命令杀掉连接,如 KILL @@CONNECTION 26907;

10、重新加载配置文件schema.xml
  如果我们在原有的schema.xml中进行了修改,需要重新加载该文件使其生效。
  命令:reload @@config;

参考:
http://www.cnblogs.com/parryyang/p/5606071.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值