Mycat实现分库

                                                                                                         --何旭东

目录

Mycat实现分库... 1

简介:... 1

环境简介:... 1

Hosts文件:... 1

MySQL节点... 2

测试... 2

MySQL节点:... 3

Mycat节点... 4

 

 

简介:

       网上好多人弄这个,过程写的太简单,多少会碰到一些坑。

环境简介:

Mycat节点:192.168.9.21    主机名:test-03.com

MySQL节点:192.168.9.24         主机名:dn1

Hosts文件:

[root@test-03 conf]# cat /etc/hosts

127.0.0.1  localhost localhost.localdomain localhost4 localhost4.localdomain4

::1        localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.9.21    test-03.com

192.168.9.21    localhost1

192.168.9.24    hostM1

192.168.9.24    dn1

 

修改vim schema.xml    配置文件

wKioL1csSdCAaNSbAAL9SX5M78U742.jpg

 

修改vim wrapper.conf   JAVA变量

wrapper.java.command=$JAVA_HOME/bin/java

 

修改 vim server.xml   定义mycat的连接。

 

修改 autopartition-long.txt  定义数据分片机制。

 

MySQL节点

在mysql上创建三个数据库:db1、db2、db3

mysql> create database db1;

mysql> create database db2;

mysql> create database db3;

 

测试

下面以Travelrecord为例,来进行插入,查询,路由分析等基本操作。

首先利用mycat连接mysql数据库

# mysql -utest -ptest -h127.0.0.1 -P8066-DTESTDB

其中8066是mycat的监听端口,类似于mysql的3306端口,其中-u,-p,-h分别是用户名,密码和主机,-D是连接的逻辑库。

 

创建Travelrecord表

create table travelrecord (id bigint notnull primary key,user_id varchar(100),traveldate DATE, fee decimal,days int);

插入数据

mysql> insert intotravelrecord(id,user_id,traveldate,fee,days) values(1,'Victor',20160101,100,10);

mysql> insert intotravelrecord(id,user_id,traveldate,fee,days) values(5000001,'Job',20160102,100,10);

mysql> insert intotravelrecord(id,user_id,traveldate,fee,days) values(10000001,'Slow',20160103,100,10);

 

MySQL节点:

wKiom1csSSST04V0AAA0cOYT7xg697.png

Mycat节点

wKioL1csSiDxmZozAAEofiLlmF8825.jpg