MyCAT从入门到实战(配置文件介绍)

时间:2024-03-02 18:56:17

用户(user)

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

[root@service bin]# cat /usr/local/mycat/conf/users/root.user.json
{
	"dialect":"mysql",
	"isolation":3,
	"password":"123456",
	"transactionType":"proxy",
	"username":"root"

配置说明:

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

数据源(datasource)

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

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

[root@service bin]# cat /usr/local/mycat/conf/users/root.user.json
{
	"dialect":"mysql",
	"isolation":3,
	"password":"123456",
	"transactionType":"proxy",
	"username":"root"
}[root@service bin]# cat /usr/local/mycat/conf/datasources/prototypeDs.datasource.jsonn
{
	"dbType":"mysql",
	"idleTimeout":60000,
	"initSqls":[],
	"initSqlsGetConnection":true,
	"instanceType":"READ_WRITE",
	"logAbandoned":true,
	"maxCon":1000,
	"maxConnectTimeout":30000,
	"maxRetryCount":5,
	"minCon":1,
	"name":"prototypeDs",
	"password":"123456",
	"queryTimeout":0,
	"removeAbandoned":false,
	"removeAbandonedTimeoutSecond":180,
	"type":"JDBC",
	"url":"jdbc:mysql://localhost:3306/mysql?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true",
	"user":"root",
	"weight":0

配置说明:

  • dbType:数据源类型
  • name:数据源名字
  • password:后端MySQL的密码
  • url:后端MySQL的JDBC连接地址
  • user:后端MySQL的用户名
  • weight:配置数据源负载均衡的使用权重

逻辑库与逻辑表(logicaltable)

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

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

[root@service schemas]# ll
总用量 8
-rw-r--r--. 1 root root 409  2月 27 18:52 db01.schema.json
-rw-r--r--. 1 root root 228  2月 27 18:44 mydb1.schema.json
[root@service schemas]# cat db01.schema.json
{
	"customTables":{},
	"globalTables":{},
	"normalProcedures":{},
	"normalTables":{
		"sys_user":{
			"createTableSQL":"CREATE TABLE `db01`.sys_user (\n\tid bigint PRIMARY KEY,\n\tusername varchar(200) NOT NULL,\n\taddress varchar(500)\n)",
			"locality":{
				"schemaName":"db01",
				"tableName":"sys_user",
				"targetName":"prototype"
			}
		}
	},
	"schemaName":"db01",
	"shardingTables":{},
	"views":{}
}

序列号(sequence)

作用:使用序列号的分片表,对应的自增主键要在建表SQL中体现。 配置位置: mycat/conf/sequences/{数据库名字}_{表名字}.sequence.json。

服务器(server)

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