两台数据库服务器:
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配置