用户(user)

配置文件位置/usr/local/mycat/conf/users/{用户名}.user.json。这个配置文件主要是用来配置MyCAT的登录用户的,也就是我们连接8066这个端口的用户信息。

 {
     "dialect": "mysql",
     "ip": null,
     "password": "123456",
     "transactionType": "proxy",
     "username": "root",
     "isolation": 3
 }
 # 配置说明
 1)dialect:数据库(方言)类型
 2)ip:配置白名单使用,一般写null 如果要限制这个用户
 3)password:配置MyCAT用户的密码(明文)
 4)isolation:设置初始化的事务隔离级别
     READ_UNCOMMITTED:1
     READ_COMMITTED:2
     REPEATED_READ:3
     默认SERIALIZABLE:4
 5)transactionType默认值:
     proxy(本地事务,在涉及大于1个数据库的事务,commit阶段失败会导致不一致,但是兼容性最好)
     可选值:xa(事务,需要确认存储节点集群类型是否支持XA) |

数据源(datasource)

作用:配置MyCAT连接后端的物理库的数据源。

配置文位置:/usr/local/mycat/conf/datasources/{数据源名字}.datasource.json

 {
     "dbType": "mysql",
     "idleTimeout": 60000,
     "initSqls": [],
     "initSqlsGetConnection": true,
     "instanceType": "READ_WRITE",
     "maxCon": 1000,
     "maxConnectTimeout": 3000,
     "maxRetryCount": 5,
     "minCon": 1,
     "name": "prototype",
     "password": "root123",
     "type": "JDBC",
     "url": "jdbc:mysql://127.0.0.1:3306/mysql?useUnicode=true&serverTimezone=UTC",
     "user": "root",
     "weight": 0,
     "queryTimeout": 30
 }
 配置说明
     1)dbType:数据源类型
     2)name:数据源名字
     3)password:后端MySQL的密码
     4)url:后端MySQL的JDBC连接地址 
     5)user:后端MySQL的用户名
     6)weight:配置数据源负载均衡的使用权重

逻辑库与逻辑表(logicaltable)

作用:配置MyCAT里面和MySQL对应的逻辑表。

配置位置:mycat/conf/schemas/{库名}.schema.json

 {
     "customTables": {},
     "globalTables": {},
     "normalTables": {},
     "schemaName": "test",
     "shardingTables": {},
     "targetName": "prototype"
 }
 ​
 配置说明
 1)customTables:自定义表
 2)globalTables:全局表
 3)normalTables:默认表
 4)schemaName:库名
 5)shardingTables:分片表
 6)targetName:数据源名,也可以是集群名

序列号(sequence)

作用:使用序列号的分片表,对应的自增主键要在建表SQL中体现。

配置位置: /usr/local/mycat/conf/sequences/{数据库名字}_{表名字}.sequence.json(后面细说)。

 ​

服务器(server)

这个是针对MyCAT的服务器的配置,一般情况下默认就行了,不用怎么配置。

【掌握】MyCAT2注释配置

重置配置

 /*+ mycat:resetConfig{} */;

用户相关

创建用户

 /*+ mycat:createUser{
     "username":"user",
     "password":"",
     "ip":"127.0.0.1",
     "transactionType":"xa"}
 */;

删除用户

 /*+ mycat:dropUser{ "username":"user"} */;

显示用户

 /*+ mycat:showUsers */;

数据源相关

创建数据源

 /*+ mycat:createDataSource{
     "dbType":"mysql",
     "idleTimeout":60000,
     "initSqls":[],
     "initSqlsGetConnection":true,
     "instanceType":"READ_WRITE",
     "maxCon":1000,
     "maxConnectTimeout":3000,
     "maxRetryCount":5,
     "minCon":1,
     "name":"dc1",
     "password":"root123",
     "type":"JDBC",
     "url":"jdbc:mysql://127.0.0.1:3306?useUnicode=true&serverTimezone=UTC&characterEncoding=UTF-8",
     "user":"root",
     "weight":0}
 */;

删除数据源

 /*+ mycat:dropDataSource{
     "dbType":"mysql",
     "idleTimeout":60000,
     "initSqls":[], 
     "initSqlsGetConnection":true,
     "instanceType":"READ_WRITE",
     "maxCon":1000,
     "maxConnectTimeout":3000,
     "maxRetryCount":5,
     "minCon":1,
     "name":"dc1",
     "type":"JDBC",
     "weight":0}
 */;

显示数据源

 /*+ mycat:showDataSources{} */;

集群相关

创建集群

 /*! mycat:createCluster{
     "clusterType":"MASTER_SLAVE",
     "heartbeat":{
         "heartbeatTimeout":1000,
         "maxRetry":3,
         "minSwitchTimeInterval":300,
         "slaveThreshold":0 
         },
         "masters":[  "dc1" //主节点 ],
         "maxCon":2000,
         "name":"c0",
         "readBalanceType":"BALANCE_ALL",
         "replicas":[  "dc2" //从节点 ],
         "switchType":"SWITCH"}
 */;

删除集群

 /*! mycat:dropCluster{ "name":"c0"} */;

显示集群

 /*+ mycat:showClusters{} */;