2019獨角獸企業重金招聘Python工程師標準>>>
簡述
mycat 對于 mysql 的支持有版本要求,目前 1.6.5 不支持 mysql 8.0 版本。因為mysql 8.0 的加密方式發生了變化。
mycat 1.6.5 連接 mysql 8.0 的兩個方式
-
mysql 8.0 采用兼容方式,,修改加密方式。default_authentication_plugin=mysql_native_password。
-
修改 mycat 的源碼,
修改mycat 的源碼
修改mysql的connect
打開他的pom文件,我們需要改動mysql的驅動,改為
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.11</version>
</dependency>
修改 mysql 支持的版本
修改源代碼class SystemConfig,包為package io.mycat.config.model;
public static final String[] MySQLVersions = { "5.5", "5.6", "5.7", "8.0" };
加入"8.0"版本,
jdbc 驅動的兼容
// 是否使用HandshakeV10Packet來與client進行通訊, 1:是 , 0:否(使用HandshakePacket)
// 使用HandshakeV10Packet為的是兼容高版本的jdbc驅動, 后期穩定下來考慮全部采用HandshakeV10Packet來通訊
private int useHandshakeV10 = 1;
這個原本是0,改成1.
其他文件的配置
server.xml
schema.xml配置
鏈接
https://blog.csdn.net/yangshuai518/article/details/81589349
https://my.oschina.net/u/3768341/blog/2251976