Mycat能干嘛 配置篇

133 阅读1分钟

关于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的配置