Mycat 整合 MySQL 8.x 踩坑实践
发表于:2024-12-04 作者:千家信息网编辑
千家信息网最后更新 2024年12月04日,Mycat 目前还未全面支持MySQL 8以上的版本,可能会导致一些问题,例如Mycat连接MySQL 8时可能会报密码错误,因为新版的密码加密方式与旧版不一样。还有就是时区问题,新版的连接方式需要增
千家信息网最后更新 2024年12月04日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安全错误
数据库的锁怎样保障安全
最优惠的软件开发
阿里支付宝网络安全
阎良区软件开发推荐
供应桌面共享软件开发
网络方向和数据库技术哪个好
网络安全工作责任制实施依据
网络安全三年发展规划
plsql数据库切换
临潼网络安全宣传活动
巢湖方便网络技术服务哪家好
栖霞游戏软件开发推荐
技术服务软件开发
小狐狸服务器线路优化
计算机网络安全800字
料理服务器
在数据库的设计视图
iphone软件开发工具
电信怎么登入服务器
网络安全警示教育稿子
中小学网络安全教育vr
阿里支付宝网络安全
应用程序访问数据库的密码
深圳玖柒软件开发
软件开发工程师服务
jsp软件开发教学视频教程
软件开发属于什么职位类别
保护网络安全的行为的办法
怎么快捷打开服务器
河北什么是网络技术
数据库设计客户预约现金支取