修改配置文件/usr/local/mycat/conf/server.xml
设置mycat用户名和密码
- <user name="root"> //用户名和密码随意设置
- <property name="password">root</property>
- <property name="schemas">ORACLEDB</property>//schemas对应schema.xml中的schema 如果有多个用逗号隔开
- </user>
- <user name="admin">
- <property name="password">admin</property>
- <property name="schemas">ORACLEDB</property>
- <property name="readOnly">true</property>
- </user>
- <?xml version="1.0"?>
- <!DOCTYPE mycat:schema SYSTEM "schema.dtd">
- <mycat:schema xmlns:mycat="http://org.opencloudb/">
- <schema name="<span style="color:#ff0000;">ORACLEDB</span>" checkSQLschema="false" dataNode="dn1"> //
- </schema>
- <dataNode name="dn1" dataHost="localhost1" database="db1" />
- <dataHost name="localhost1" maxCon="1000" minCon="10" balance="1" writeType="0" dbType="oracle" dbDriver="jdbc">
- <heartbeat>select 1 from dual</heartbeat>
- <writeHost host="hostM1" url="jdbc:oracle:thin:@10.16.13.23:1521/orcl" user="test_user" password="test_user" >
- <readHost host="hostS1" url="jdbc:oracle:thin:@10.16.12.9:1521/orcl" user="strmadmin" passw
- ord="strmadmin"/>
- </writeHost>
- </dataHost>
- </mycat:schema>
配置结束
然后 启动mycat
- ./mycat start
./mycat console 输出运行状态 查看错误还是正确
Caused by: io.mycat.config.util.ConfigException: Illegal table conf : table [ …] rule function [ rang-long ] partition size : 3 > table datanode size : 2, please make sure table datanode size = function partition size
默认的分片是分为3片,而我就设置了2个库。然后我又填了个新库,可以正常启动。
如果要修改分片规则,则需要修改rule.xml和其中对应的规则文件。
遇到The content of element type "mycat:schema" must match "(schema*,dataNode*,dataHost*)"错误,
根据wrapper.log日志信息,开始以为是我的schema.xml文件中的schema、dataNode、dataHost标签写得不正确,反复查看后没有发现问题,
但是问题依旧存在,后来经过一番折腾之后,发现这句话的意思其实是:schema、dataNode、dataHost标签在schema.xml文件中,必须按照顺序书写。
其实就是说多个schema需要写在一起,并且放在最前面;多个dataNode写在一起,放在schema标签之后;多个dataHost写在一起,放在dataNode标签之后。