Mycat 整合 MySQL 8.x 踩坑实践
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,Mycat 目前还未全面支持MySQL 8以上的版本,可能会导致一些问题,例如Mycat连接MySQL 8时可能会报密码错误,因为新版的密码加密方式与旧版不一样。还有就是时区问题,新版的连接方式需要增
千家信息网最后更新 2025年01月21日Mycat 整合 MySQL 8.x 踩坑实践
Mycat 目前还未全面支持MySQL 8以上的版本,可能会导致一些问题,例如Mycat连接MySQL 8时可能会报密码错误,因为新版的密码加密方式与旧版不一样。还有就是时区问题,新版的连接方式需要增加时区参数。除此之外,可能还会有一些其他问题。因此,我们需要更改Mycat的一些配置,让其能正常连接MySQL 8.x。
下载8.x版本的驱动
首先需要下载8.x
版本的驱动,Mycat 默认的MySQL驱动版本为5.x
。到maven中央仓库上复制8.x驱动jar包的下载地址,然后到Linux上使用wget
命令进行下载:
[root@txy-server ~]# cd /usr/local/src[root@txy-server /usr/local/src]# wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.18/mysql-connector-java-8.0.18.jar
将驱动包移动到mycat的lib
目录下,并删除原本的5.x
驱动包:
[root@txy-server /usr/local/src]# mv mysql-connector-java-8.0.18.jar /usr/local/mycat/lib/[root@txy-server /usr/local/src]# rm -rf /usr/local/mycat/lib/mysql-connector-java-5.1.35.jar
接着使用chmod
命令设置该驱动包的权限:
[root@txy-server /usr/local/mycat]# chmod 777 lib/mysql-connector-java-8.0.18.jar
修改 schema.xml
修改位于conf
目录下的schema.xml
配置文件,目的是更改Mycat连接MySQL的方式:
[root@txy-server /usr/local/mycat]# vim conf/schema.xml
修改dataHost
标签中的dbDriver
属性为jdbc
,以及修改 writeHost
标签中的url
属性:
select user()
修改 server.xml
修改位于conf
目录下的server.xml
配置文件:
[root@txy-server /usr/local/mycat]# vim conf/server.xml
将useHandshakeV10
设置为1
,如果没该标签则添加即可:
1 ...
重启 Mycat 并测试
重启 Mycat:
[root@txy-server /usr/local/mycat]# mycat stopStopping Mycat-server...Stopped Mycat-server.[root@txy-server /usr/local/mycat]# mycat startStarting Mycat-server...[root@txy-server /usr/local/mycat]#
在测试能否正常连接 Mycat 时又遇到了另一个问题,使用MySQL 8.x的客户端工具连接 Mycat 报了个密码错误:
[root@txy-server ~]# mysql -uroot -p -P9066 -h227.0.0.1Enter password: ERROR 1045 (HY000): Access denied for user 'root', because password is error [root@txy-server ~]#
同样,这也是因为MySQL 8以上的版本与之前版本的密码加密方式不一样。而 Mycat 目前还是只支持5.x版本的加密方式,所以使用8以上版本的MySQL客户端工具连接Mycat时就会报密码错误。
解决方式主要有两种,一是指定mysql客户端连接时的加密方式。如下示例:
[root@txy-server ~]# mysql -uroot -p -P9066 -h227.0.0.1 --default-auth=mysql_native_password
二是采用5.x版本的MySQL客户端工具来连接 Mycat。如下示例:
[root@txy-server /usr/local/mysql-5.7.28]# bin/mysql -uroot -p -P9066 -h227.0.0.1
版本
方式
驱动
密码
客户
客户端
问题
加密
工具
标签
目录
错误
配置
命令
属性
文件
时区
示例
会报
支持
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
后端如何保存当前时间到数据库
网络安全法规定重要数据应当
艾泰虚拟服务器
传感网络安全协议栈
河曲网络安全宣传
世界互联网科技成果中国商飞
女32转行做软件开发
xp系统 配置服务器
敏捷模型是不是软件开发模型
java短信服务器
腾讯云服务器部署服务
重庆推广软件开发方案
数据库技术在我国的发展历程
瑞芯嵌入式软件开发
用python管理服务器
头歌数据库复杂查询分数排名
软件开发的开源网站
服务器管理哪家比较不错
和平精英手游官网服务器在哪
光遇数据库损坏
数据库00001自增
沙迳服务器
广东月嫂数据库
重庆推广软件开发方案
闵行区高科技软件开发设计规范
柳钢 软件开发
Nginx500内部服务器错误
数据库均值
电力监推系统网络安全招标山东
海淀区正规计算机软件开发要求