首先在http://dl.mycat.io/1.6-RELEASE/下载mycat的压缩包,解压到Ubuntu环境下,我本地放在/usr/local下。
由于mycat必须使用Java环境,所以好需要配置Java开发环境https://www.oracle.com/technetwork/java/javase/archive-139210.html下载Jdk压缩包,安装后输入命令Java -version检测Java环境是否配置成功。
mycat的配置文件:
配置文件主要有三个:
1.其中rule.xml 用于分库分表的规则,tableRule用来指定规则的名称,columns表示具体以那个字段进行分库分表,algorithm与function中保持一致,function表示分库分表的函数规则,property表示对id除2来分库分表
server.xml:
serverPort表示逻辑数据库的端口
sequnceHandlerType:表示逻辑数据库处理主键自增的方式,下面回详细讲解
<user name="root">
<property name="password">123456</property>
<property name="schemas">TESTDB</property>
</user>
表示逻辑数据库的用户名和密码以及数据库名称
schema.xml
<schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100">
<table name="users" primaryKey="id" dataNode="node_db01" />
<table name="item" primaryKey="id" autoIncrement="true" dataNode="node_db02,node_db03" rule="rule1" />
</schema>
中的name必须和server.xml中的数据库名称保持一直
table中的name表示逻辑数据库中的表名称,primaryKey主键为id,autoIncrement是否自增长(这里是一个注意点,稍后讲解)
dataNode表示来源的数据库
rule表示分库分表的规则,和rule.xml中名称保持一致
首先在Ubuntu创建三个数据库db0,db1,db2,其中db0数据库中创建users表,db1,db2创建item表
重启mycat,重启完后记得查看日志,需要注意的使用 ./mycat status查看状态是不管是否正常启动都会显示Mycat-server is running (3576).
所以进入/usr/local/mycat/logs下面使用查看tail -n 50 wrapper.log 启动日志,启动正常后最后一句应该为
MyCAT Server startup successfully. see logs in logs/mycat.log
mycat逻辑表
db1数据表
db2z数据库