mycat配置mysql8.0
- 因为mycat暂时主要支持mysql版本仍在5.7及以下。可以通过新的配置方法使其配置mysql8.0。
一、下载mysql8.0的驱动和mycat1.6.7
mysql8.0驱动+mycat1.6.7
提取码: ht58
二、上传新驱动
- 上传安装新的mycat-1.6.7。
- 删除mycat/lib 文件夹下mysql-connector-java/5.1.35 删掉。
- 上传mysql/mysql-connector-java/8.0.16/ 到mycat/lib 目录下。
- 权限全开 chmod 777 mysql-connector-java-8.0.16.jar 。
三、配置
- service.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="root" defaultAccount="true">
<property name="password">HBQ521521cf*</property>
<property name="schemas">T_M</property>
</user>
</mycat:server>
- schema.xml
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
<schema name="T_M" checkSQLschema="true" sqlMaxLimit="100"> <!--(一定要把checkSQLschema改成true)-->
<table name="me" dataNode="dn1" />
<table name="do" dataNode="dn2" />
<table name="user" primaryKey="u_id" autoIncrement="true" dataNode="dn1,dn2" rule="mod-long" />
</schema>
<dataNode name="dn1" dataHost="localhost1" database="T_M" />
<dataNode name="dn2" dataHost="localhost2" database="T_M" />
<!-- 修改dbDriver url -->
<dataHost name="localhost1" maxCon="1000" minCon="10" balance="0"
writeType="0" dbType="mysql" dbDriver="jdbc" switchType="1" slaveThreshold="100">
<heartbeat>show slave status</heartbeat>
<writeHost host="hostM1" url="jdbc:mysql://192.168.80.130:3306?useSSL=false&serverTimezone=UTC"
user="root" password="HBQ521521cf*" />
</dataHost>
<dataHost name="localhost2" maxCon="1000" minCon="10" balance="0"
writeType="0" dbType="mysql" dbDriver="jdbc" switchType="1" slaveThreshold="100">
<heartbeat>show slave status</heartbeat>
<writeHost host="hostM2" url="jdbc:mysql://192.168.5.211:3306?useSSL=false&serverTimezone=UTC"
user="root" password="521521" />
</dataHost>
</mycat:schema>
- rule.xml
<tableRule name="mod-long">
<rule>
<columns>u_id</columns>
<algorithm>mod-long</algorithm>
</rule>
</tableRule>
<function name="mod-long" class="io.mycat.route.function.PartitionByMod">
<!-- how many data nodes -->
<property name="count">2</property>
</function>
- 除以上不同外,配置与5.7以前的配置方法相同。
参考:服务器部署—《mycat篇》