schema.xml配置
rule属性: 定义分片表的分片规则,必须与rule.xml中的tableRule对应
1、配置schema.xml
vi schema.xml
第一个dataHost中配置了一主一从,分别为192.168.127.34和192.168.127.135 rule为sharding-by-intfile
2、配置rule.xml
列名为province_id
找到hash-int 方法
对应的文件为partition-hash-int.txt
修改partition-hash-int.txt
10000写在第0个节点,10010写在第1个节点,默认是第0个节点。
3、增加列
连接MyCat增加列,列名和前面的配置保持一致,province_id 省编号
增加成功后,可以看到三台MySql数据库的User表都有了这个新增的列
MyCat修改的表,可以同步到datanode上。
4、增加数据
1) 在MyCat中增加1条数据,,province_id为10000
INSERT INTO `user`(id, username,province_id) VALUES (20,'Larry10','10000')
可以发现第一个节点的 192.168.127.134(主)和192.168.127.135(从)都有了这条数据。
第一个节点的 192.168.127.129 则没有这条数据。
2) 在MyCat中增加1条数据,,province_id为10010
INSERT INTO `user`(id, username,province_id) VALUES (21,'Larry21','10010')
可以发现第一个节点的 192.168.127.134(主)和192.168.127.135(从)都没有了这条数据。
第一个节点的 192.168.127.129 则有这条数据。
3) 在MyCat中增加1条数据,,province_id为10022
INSERT INTO `user`(id, username,province_id) VALUES (22,'Larry22','10022')
可以发现第一个节点的 192.168.127.134(主)和192.168.127.135(从)都有了这条数据。
第一个节点的 192.168.127.129 则没有这条数据。