1. 程式人生 > >mycat 1.6.5 for mysql 8分表攻略

mycat 1.6.5 for mysql 8分表攻略

簡述

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/376