赞
踩
mycat控制台输入
/*+ mycat:createSchema{
"customTables":{},
"globalTables":{},
"normalTables":{},
"schemaName":"test",
"shardingTables":{},
"targetName":"prototype"
} */;
schemaName:物理库的库名
targetName: 物理库所在的集群,默认应该将prototype集群内的MySQL连接 设置为物理库连接
创建成功后,mycat 会映射物理库的所有单表,可以检测是否成功
创建两组数据源
/*+ mycat:createDataSource{ "name":"r0", "url":"jdbc:mysql://127.0.0.1:3306/mysql", "user":"root", "password":"xxxx" } */; /*+ mycat:createDataSource{ "name":"w0", "url":"jdbc:mysql://127.0.0.1:3306/mysql", "user":"root", "password":"xxxx" } */; /*+ mycat:createDataSource{ "name":"r1", "url":"jdbc:mysql://127.0.0.1:3307/mysql", "user":"root", "password":"xxxx" } */; /*+ mycat:createDataSource{ "name":"w1", "url":"jdbc:mysql://127.0.0.1:3307/mysql", "user":"root", "password":"xxxx" } */;
集群c1 为3306的库 c2为3307的库
/*! mycat:createCluster{"name":"c0","masters":["w0"],"replicas":["r0"]} */;
/*! mycat:createCluster{"name":"c1","masters":["w1"],"replicas":["r1"]} */;
执行成功之后,mycat2 会在 配置的数据源中自动创建库和表
/*+ mycat:createTable{ "schemaName":"创建schema时的schemaName", "shardingTable":{ "createTableSQL":"create table sharding xxxxxxxxxxxxx (建表语句)", "function":{ "properties":{ "dbNum":1, "mappingFormat":"c${targetIndex}/数据库名_${dbIndex}/表名_${index}", "tableNum":10, "tableMethod":"mod_hash(id)", "storeNum":1, "dbMethod":"mod_hash(id)" } }, "partition":{ } }, "tableName":"表名" } */; schemaName:创建schema时的schemaName createTableSQL: mysql建表语句 dbNum: 分库数量 mappingFormat: 映射配置 c${targetIndex} 映射集群 tableNum:分表数量 tableMethod:分表算法(分表字段) dbMethod:分库算法(分库字段) storeNum:等于dbNum,
至此顺利的话,就分库分表成功了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。