一、问题产生
MyCat是一个基于MySQL协议的开源的分布式中间件,其核心是分库分表。
但是目前MyCat仍主要面对MySQL 5.5, 5.6, 5.7版,对最新的MySQL 8尚未完全支持,需要用户对MySQL 8和MyCat的配置进行一系列的修改。
二、MyCAT 调整
MyCat自带的JDBC驱动jar还是5.1.x版的,若使用JDBC连接MySql 8,会报错“Java.sql.SQLException: Unknown system variable 'query_cache_size'”。必须用8.0.x版的JDBC驱动jar代替才行
如果dataHost的driverType为JDBC,则还需要修改url,增加useSSL=false和serverTimezone=UTC选项,某些情况下还需加上characterEncoding=utf8选项(可选),我的配置:
<writeHost host="hostM1" url="jdbc:mysql://127.0.0.1?useSSL=false&serverTimezone=UTC&characterEncoding=utf8" user="root"
password="123456">
</writeHost>
注意:配置文件地址=D:\mycat\conf\schema.xml