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