关于server.xml配置
配置MyCat的用户名、密码、权限、Schema等 连接和Mysql没有区别
<mycat:server>
...
<user name="root" defaultAccount="true">
<property name="password">123456</property>
<property name="schemas">TESTDB</property>
</user>
<user name="user">
<property name="password">user</property>
<property name="schemas">TESTDB</property>
<property name="readOnly">true</property>
</user>
</mycat:server>
一眼明了
这里声明了两个用户 root user. root是默认账号
schemas 表示database 和schema.xml中的shema的name一致 多个database用逗号分隔
readOnly 表示用户是否只读的权限
关于schema.xml配置
dataHost节点主机 包括读写Host
<dataHost name="db131" maxCon="1000" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeart>select user()</heartbeart>
<writeHost host="m1" url="192.168.33.151:3306" user="root" password="123456">
<readHost host="s1" url="192.168.33.161:3306" user="root" password="123456">
</readHost>
...
</writeHost>
...
</dataHost>
除了balance其他不介绍了 很简单 balance 负载均衡类型 0不开启读写分离 1 2读写均匀分配 3读落在readHost上 writeType 0挂了轮询切换 写请求落在第一个writeHost上 1 写请求 随机落 writeHost password属性如果是mysql8要小心密码的加密方式改变了
dataNode数据节点 指定到具体的数据库
<dataNode name="dn131" dataHost="db131" database="user_131"/>
schema 表明 数据节点 分片规则
<schema name="user" checkSQLschema="true" sqlMaxLimit="100">
<table name="user" dataNode="dn131,dn132" rule="auto-sharding-long"/>
</schema>
checkSQLschema 对前端指定逻辑库名是否报错 sqlMaxLimit 默认的limit值 在没有limit时限制返回值数量级 rule 分片规则
mycat 的管理平台 9066 navicat连接
show @@ help;查看帮助
可以使用reload@@config刷新xml的配置