mycat 对于 mysql 的支持有版本要求,目前 1.6.5 不支持 mysql 8.0 版本。由于mysql 8.0 的加密方式发生了变化。java
mycat 1.6.5 链接 mysql 8.0 的两个方式mysql
mysql 8.0 采用兼容方式,,修改加密方式。default_authentication_plugin=mysql_native_password。sql
修改 mycat 的源码,加密
打开他的pom文件,咱们须要改动mysql的驱动,改成.net
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.11</version> </dependency>
修改源代码class SystemConfig,包为package io.mycat.config.model;code
public static final String[] MySQLVersions = { "5.5", "5.6", "5.7", "8.0" };
加入"8.0"版本,server
// 是否使用HandshakeV10Packet来与client进行通信, 1:是 , 0:否(使用HandshakePacket) // 使用HandshakeV10Packet为的是兼容高版本的jdbc驱动, 后期稳定下来考虑所有采用HandshakeV10Packet来通信 private int useHandshakeV10 = 1;
这个本来是0,改为1.xml
server.xmlblog
schema.xml配置get