Mycat入门配置之读写分离配置

  两台数据库服务器:

  192.168.80.11

  192.168.80.4

  操作系统版本环境:CentOS6.5

  数据库版本:5.6

  mycat版本:1.4 release

  数据库:db1,db2,db3

  说明:db1.db2 在192.168.80.11 服务器上 ,db3在192.168.80.4服务器上

  1、schema.xml配置: 

  Schema.xml作为MyCat中重要的配置文件之一,管理着MyCat的逻辑库、表、分片规则、DataNode以及DataSource。弄懂这些配置,是正确使用MyCat的前提。这里就一层层对该文件进行解析。

  schema 标签用于定义MyCat实例中的逻辑库

  Table 标签定义了MyCat中的逻辑表

  dataNode 标签定义了MyCat中的数据节点,也就是我们通常说所的数据分片。

  dataHost标签在mycat逻辑库中也是作为最底层的标签存在,直接定义了具体的数据库实例、读写分离配置和心跳语句。

<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://org.opencloudb/">
   <!--起一个名字,作为mycat的数据库名-->
   <schema checkSQLschema="false" sqlMaxLimit="100">
        <!--一个表的名字,以id为分片依据,数据节点:d1,d2,d3,rule拆分规定//此处为默认  -->
        <table primaryKey="id" dataNode="d1,d2,d3" rule="auto-sharding-long" />
       
    </schema>
    <!-- <dataNode dataHost="localhost1" database="db$0-743"
        /> -->
   <!--配置数据节点,name和上面的对照,datahost和下面的对照,database为数据节点中的数据库中的真实名字-->
    <dataNode dataHost="centos_1" database="db1" />
    <dataNode dataHost="centos_2" database="db2" />
    <dataNode dataHost="centos_3" database="db3" />
    <!--配置datahost的信息,连接数据库的配置,name和上面的对照,因为db1和db2在一台机器上,可以配置一成台datahost-->
    <dataHost maxCon="1000" minCon="10" balance="0"
        writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
     <heartbeat>show slave status</heartbeat><!--配置心跳,保持状态-->
        <!-- can have multi write hosts --><!--配置服务器ip和数据库端口,用户名和密码-->
        <writeHost host="hostM1" url="192.168.80.11:3306" user="root" password="123456">
            <!-- can have multi read hosts --><!--上面的writehost是写-->
        </writeHost>
        <!-- <writeHost host="hostM2" url="localhost:3316" user="root" password="123456"/> -->
    </dataHost>
   
    <dataHost 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="hostM2" url="192.168.80.11:3306" user="root" password="123456">
            <!-- can have multi read hosts -->
        </writeHost>
        <!-- <writeHost host="hostM2" url="localhost:3316" user="root" password="123456"/> -->
    </dataHost>
   
    <dataHost 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="hostM3" url="192.168.80.4:3306" user="root" password="123456">
            <!-- can have multi read hosts -->
        </writeHost>
        <!-- <writeHost host="hostM2" url="localhost:3316" user="root" password="123456"/> -->
    </dataHost>
   
</mycat:schema>

  2、server.xml配置

  配置用户:name="schemas"和前面配置的schemas.xml中的name对应

<user>
    <property>123456</property>
    <property>mycat001</property>
    <property>false</property>
</user>

  3、rule.xml配置 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/dc1e66b92e4194060e28b3e5f9e35af7.html