简单的mycat分库操作

今天把mycat环境安装好了,测试一下分库操作。

http://blog.csdn.net/leisure_life/article/details/78611594

在安装mycat时我已经在我的MysQL里创建了三个数据库

简单的mycat分库操作_第1张图片

我准备用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中配置一下

简单的mycat分库操作_第2张图片

配置的表名叫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

简单的mycat分库操作_第3张图片

然后就像操作MysQL一样操作

(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,'王五');


插入成功

简单的mycat分库操作_第4张图片




可以看到,分库成功了

简单的mycat分库操作_第5张图片

你可能感兴趣的:(mycat)