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