本文实现一个简单的demo,展示mycat配合mysql实现分库时自增主键的使用。
前提说明:mycat目前提供了自增主键的使用,但是如果对应的mysql节点上的数据表没有定义auto_increment的话,mycat的自增主键也是无效的。
温馨提示:关于mycat的安装、配置和简单测试可以查阅如下文档http://blog.csdn.net/smilefyx/article/details/72810531
1、在schema.xml中增加测试表
修改schema.xml配置文件,我们在mycat提供的TESTDB逻辑表中增加一个名为tb_sq_test的逻辑表,该逻辑表的配置如下:
<table name="tb_sq_test" primaryKey="id" dataNode="dn1,dn2,dn3" autoIncrement="true" rule="mod-long"/>
可以看到该逻辑表的数据会被分配到dn1,dn2,dn3的数据节点上。
2、创建测试表
使用navicat链接到mycat。我们选中TESTDB逻辑库并创建一个名为tb_sq_test的数据表用于完成本文的测试。该表中有一个自增的主键id和一个name属性。创建表的sql语句如下: