mysql中间件Mycat:配置1(多节点取数据)

mycat是什么不再介绍。
mycat官网地址:
http://www.mycat.io/

依赖:jdk 1.7+

关于jdk的安装,可以参考:
http://blog.csdn.net/github_26672553/article/details/58222614

mycat下载地址:
https://github.com/MyCATApache/Mycat-download/tree/master/1.5-RELEASE
下载完毕之后,解压到我们的目录:

tar -zvxf 压缩包名 -C /usr/local/

我这里解压到了/usr/local目录下。

设置mycat的环境变量

vi /etc/profile
export MYCAT_HOME=/usr/local/mycat

保存后执行:source /etc/profile
这里写图片描述
另外还要mysql忽略表名大小写,修改mysql配置文件:

[mysqld]
lower_case_table_names = 1

mycat配置文件

mycat/conf下有3个重要的配置文件:

server.xml 定义系统参数和授权;
schema.xml 定义逻辑库、表、分片节点;
rule.xml 定义分片规则等
这里写图片描述

我们首选来看 schema.xml 这个配置文件

<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://org.opencloudb/">
    <!-- mydbname 自定义的名字(可以理解为虚拟的数据库名) -->
    <schema name="mydbname" checkSQLschema="false" sqlMaxLimit="100">
        <!-- news 真实表名 id是主键 -->
        <!--  dataNode是节点-->
         <table name="news" primaryKey="id"  type="global" dataNode="dataNode1,dataNode2" />
    </schema> 

     <!-- 节点配置 -->
     <!-- 2个节点 数据库名称是test(真实的数据库名称) -->
    <dataNode name="dataNode1" dataHost="dataHost1" database="test" />
    <dataNode name="dataNode2" dataHost="dataHost2" database="test" />


    <dataHost name="dataHost1" maxCon="1000" minCon="10" balance="0"
        writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
        <heartbeat>select user()</heartbeat>
        <!-- can have multi write hosts -->
        <writeHost host="hostM1" url="10.211.55.13:3306" user="root" password="root"> </writeHost>
    </dataHost>

    <dataHost name="dataHost2" maxCon="1000" minCon="10" balance="0"
        writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
        <heartbeat>select user()</heartbeat>
        <writeHost host="hostM1" url="192.168.15.138:3306" user="root" password="root"> </writeHost>
    </dataHost>

</mycat:schema>

需要注意的是:2台mysql之间要能够互相连通。

然后修改 server.xml这个配置文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mycat:server SYSTEM "server.dtd">
<mycat:server xmlns:mycat="http://org.opencloudb/">

    <system>
        <property name="defaultSqlParser">druidparser</property>
    </system>

    <user name="mycat1">
        <property name="password">admin888</property>
        <!--  schemas就是schema.xml中配置的虚拟数据库名称-->
        <property name="schemas">mydbname</property>
    </user>

    <user name="mycat2">
        <property name="password">admin888</property>
        <property name="schemas">mydbname</property>
        <!-- 只读 -->
        <property name="readOnly">true</property>
    </user>

</mycat:server>

启动 mycat

cd /usr/local/mycat/bin
./mycat start

然后我们可以用数据库客户端工具来连接我们的mycat
这里写图片描述
这里写图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值