mycat笔记(仅供个人笔记)

1、关于mycat本地分表的方式: 注意逻辑库和逻辑表的问题,可以一个逻辑表对应物理本地分片操作 开启. ./bin/mycat start /status 后,用 mysql -umycat -p123456 -h127.0.0.1 -P8066 坑1: -h必须带上!!!!

逻辑表往往在属性table中带有subtable 坑2: yii连接的坑:Yii::$app->db和$model->getDb()的区别,全局和model对应的db还是有区别,要注意

2、主键配置,参考 utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param

注意在全局表中加入: INSERT INTO MYCAT_SEQUENCE(NAME,current_value,increment) VALUES ('GLOBAL', 100000, 100);

特别注意: <schema name="mycatdb" checkSQLschema="false" sqlMaxLimit="100"> <!-- <table name="sf_addon_coco_accountlist" primaryKey="ID" autoIncrement="true" dataNode="dn1"/> --> <table name="sf_addon_coco_accountlist" primaryKey="ID" autoIncrement="true" dataNode="list1,list2,list3" rule="mod-long" /> <table name="mycat_sequence" primaryKey="name" dataNode="dn1"/> </schema> <!-- <dataNode name="dn1$0-743" dataHost="localhost1" database="db$0-743" /> --> <dataNode name="list1" dataHost="localhost" database="coco_accountlist01" /> <dataNode name="list2" dataHost="localhost" database="coco_accountlist02" /> <dataNode name="list3" dataHost="localhost" database="coco_accountlist03" /> <dataNode name="dn1" dataHost="localhost" database="coco_coco_2020" />

插入sql语句 INSERT INTO accountlist(ID, UID, Name, Mold, Money, Balance, Description, updated_at, created_at, Value, weeks, number, overdue, shuliang, tian, ordername) VALUES (next value for MYCATSEQ_MYCATDB, 54293, '15527486199', '可用及格分(扣除)', -10.000, 950.000, '666666666666666666', 1596393841, 1596393841, 0, 0, 0, 0, 0, 0, NULL);

next value for MYCATSEQ_MYCATDB其中mycatdb的指向问题是关键,mycatdb库连接,然后建立的自增量表中name 值必须与之对应起来,不然无法生效

3、mycat自启动 (1)修改脚本文件rc.local:vim /etc/rc.d/rc.local   这个脚本是使用者自定的开机启动程序,可以在里面添加想在系统启动之后执行的脚本或者脚本执行命令 (2)添加如下内容:   export JAVA_HOME=/usr/java/jdk1.7.0_80               //java路径根据自己实际情况填写   /usr/local/mycat/bin/mycat start (3)esc 退出编辑,:wq 保存修改 (4)将rc.local修改为可执行   chmod 777 /etc/rc.d/rc.local