首先需要将mycat\lib下的mysql-connector-java-xxx包删除,换成mysql-connector-java-8.0.19,然mycat能够支持mysql8.x
我用的mycat版本为mycat-server-1.6
schema.xml:
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
<schema name="TEST" checkSQLschema="true" sqlMaxLimit="100" dataNode="dn1"> <!--(一定要把checkSQLschema改成true)-->
</schema>
<dataNode name="dn1" dataHost="host1" database="platform_admin" />
<!-- 修改dbDriver url -->
<dataHost name="host1" maxCon="1000" minCon="10" balance="1"
writeType="0" dbType="mysql" dbDriver="jdbc" switchType="1" slaveThreshold="100">
<heartbeat>show slave status</heartbeat>
<writeHost host="hostM1" url="jdbc:mysql://192.168.196.128:3307?useSSL=false&serverTimezone=UTC" user="root"
password="root12">
<!-- can have multi read hosts -->
<readHost host="hostS2" url="jdbc:mysql://192.168.196.128:3308?useSSL=false&serverTimezone=UTC" user="root" password="root12" />
</writeHost>
</dataHost>
</mycat:schema>
server.xml:
<!DOCTYPE mycat:server SYSTEM "server.dtd">
<mycat:server xmlns:mycat="http://io.mycat/">
<system>
<property name="defaultSqlParser">druidparser</property>
<property name="useHandshakeV10">1</property> <!--(这里记得修改)-->
<property name="mutiNodeLimitType">1</property>
<property name="charset">utf8</property>
<property name="serverPort">8066</property>
<property name="managerPort">9066</property>
</system>
<user name="mycat" defaultAccount="true">
<property name="password">mycat</property>
<property name="schemas">TEST</property>
</user>
</mycat:server>