今天把mycat环境安装好了,测试一下分库操作。
http://blog.csdn.net/leisure_life/article/details/78611594
在安装mycat时我已经在我的MysQL里创建了三个数据库
我准备用mycat创建一个表,然后让mycat在每个数据库里边都建一个表(相同的),用mycat插入三条数据,mycat根据数据id的不同插入不同的库中。具体规则如下
查看conf目录中的分库配置
vim autopartition-long.txt
里面默认的配置如下
# range start-end ,data node index
# K=1000,M=10000.
0-500M=0
500M-1000M=1
1000M-1500M=2
也就是说id在0-500M的落在0号,以此类推
待会我想创建了表,表名叫student,需要在schema.xml中配置一下
配置的表名叫student,对应的数据节点是dn1、dn2、dn3,而在下面可以看出,实际是映射到了库db1、db2、db3、因为我的mycat和MysQL在同一台机器上,所以dataHost是localhost。
启动mycat:
cd /usr/local/mycat/bin
./mycat start
连接mycat
mysql -uroot -p123456 -P8066 -h127.0.0.1
mysql> use TESTDB
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
(2)创建表
create table student(id bigint not null primary key,user_id varchar(64),birthday DATE, age int,name varchar(50));
(3)创建表分别插入三条数据
插入应该落在db1的记录
insert into student(id,user_id,birthday,age,name) values(1,'007',20171123,21,'张三');
插入应该落在db2的记录
insert into student(id,user_id,birthday,age,name) values(5000001,'007',20171123,22,'李四');
插入应该落在db3的记录
insert into student(id,user_id,birthday,age,name) values(10000001,'007',20171123,23,'王五');
可以看到,分库成功了