阅读(2869) (14)

Mycat2 服务器 server

2021-09-08 11:16:55 更新

服务器配置

Mycat没有固定的配置格式,暂时支持json,yaml格式

{
 "datasourceProvider":";io.mycat.datasource.jdbc.datasourceprovider.DruidDatasourceProvider",
 "loadBalance":{
    "defaultLoadBalance":"BalanceRandom",
    "loadBalances":[]
  },
  "mode":"local",
  "serverVersion" : "5.7.33-mycat-2.0" //1.17提供,用于客户端适配,调整到与原型库的mysql版本一致
  "properties":{},
  "server":{
    "bufferPool":{
    },
    "idleTimer":{
      "initialDelay":3,
      "period":15,
      "timeUnit":"SECONDS";
    },
    "ip":"127.0.0.1",
    "mycatId":1,
    "port":8066,
    "reactorNumber":8,
    "tempDirectory":null,
    "timeWorkerPool":{
      "corePoolSize":0,
      "keepAliveTime":1,
      "maxPendingLimit":65535,
      "maxPoolSize":2,
      "taskTimeout":1,
      "timeUnit":"MINUTES"
    },
    "workerPool":{
      "corePoolSize":8,
      "keepAliveTime":1,
      "maxPendingLimit":65535,
      "maxPoolSize":1024,
      "taskTimeout":1,
      "timeUnit":"MINUTES"
    },
    "mergeUnionSize": 5,
    "ignoreCast": false ,//生成的sql是否忽略类型转换,1.17支持,
    "joinClustering": true ,//开启后进行join重排序,关闭后会加快优化速度,1.18支持
  }
}

默认配置

如果不配置则使用上述的值进行加载

mergeUnionSize为使用一次union all合拼同一个存储节点上多个dataNode的sql数量

该参数在1.15版本以后才存在

mycatId是保证多个mycat公用存储节点的时候必须配置这个值,并且唯一,他用于生成序列号,Xid等.

serverVersion用于客户端与服务端适配

比如SELECT @@session.transaction_isolation