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属性:

writeType="0" dbType="mysql" dbDriver="jdbc" switchType="1" slaveThreshold="100">

select user()

url="jdbc:mysql://192.168.130.28:3306?useSSL=false&serverTimezone=GMT%2B8"

user="root"

password="123456">

修改 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 stop

Stopping Mycat-server...

Stopped Mycat-server.

[root@txy-server /usr/local/mycat]# mycat start

Starting Mycat-server...

[root@txy-server /usr/local/mycat]#

在测试能否正常连接 Mycat 时又遇到了另一个问题,使用MySQL 8.x的客户端工具连接 Mycat 报了个密码错误:

[root@txy-server ~]# mysql -uroot -p -P9066 -h127.0.0.1

Enter 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 -h127.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 -h127.0.0.1

mysql mycat one_Mycat 整合 MySQL 8.x 踩坑实践相关推荐

  1. eslint 无法格式化ts_vscode-eslint的踩坑实践--typescript无法格式化

    Apple iPhone 11 (A2223) 128GB 黑色 移动联通电信4G手机 双卡双待 4999元包邮 去购买 > vscode-eslint的踩坑实践--typescript无法格式 ...

  2. mysql运维工资_MySQL运维踩坑

    image ZERO 背景 本文主要是介绍在MySQL使用运维过程中所遇到的一些坑爹的地方,予自己以做记录! 前言 因操作系统重装之后,安装了mysql5.7,而由此带来了一系列的问题,现将解决这些m ...

  3. mysql追溯历史性能问题_【踩坑記錄】記一次MySQL主從復制延遲的坑

    最近開發中遇到的一個MySQL主從延遲的坑,記錄並總結,避免再次犯同樣的錯誤. 情景 一個活動信息需要審批,審批之后才能生效.因為之后活動要編輯,編輯后也可能觸發審批,審批中展示的是編輯前的活動內容, ...

  4. 15个必知的Mysql索引失效场景,别再踩坑了

    背景 无论你是技术大佬,还是刚入行的小白,时不时都会踩到Mysql数据库不走索引的坑.常见的现象就是:明明在字段上添加了索引,但却并未生效. 前些天就遇到一个稍微特殊的场景,同一条SQL语句,在某些参 ...

  5. nginx实现对websocket加密协议wss协议的反向代理以及websocket整合springboot入门(踩坑)

    出发点 最近公司需要有一个推送前端消息的需求 首选websocket进行推送,也做过客服系统接触过,最近看了一点websocket的相关内容记录总结一下. 什么是websocket websocket ...

  6. 前端静态服务踩坑实践

    前言 随着前端项目的增大,越来越多时候会把动静态资源进行分离部署,对于分离部署时常常涉及到代理转发的问题,专网项目主要使用 nginx + docker + k8s的部署方式,本文主要分享一些相关项目 ...

  7. linux python虚拟环境 error_阿里云Linux系统配置python3-虚拟环境-mysql --踩坑实践(Ubuntu系统转centOS7)...

    序言:个人使用阿里云的服务器,Ubuntu系统时在创建虚拟环境处卡住,多次修改无果后改用CentOS系统配置环境成功,但是其中也是尝试多次,这里就把自己找的能够配置成功的方法整理起来,以备后续有相关配 ...

  8. 【MySQL】字符集utf8mb4无法存储表情踩坑记录

    现象 字段上的字符集优先级高于表的字符集,表的字符集优先级高于数据库的字符集,理论上只要表的字符集为utf8mb4就能存储表情,真的是这样吗? MySQL数据表的字符集已经设置成了utf8mb4,但是 ...

  9. 本地安装MySQL数据库-8.0.29版本(踩坑版)

    目录 1.下载数据库网址: 2.选择要下载的版本: 3.安装MySQL 3.1安装报错:找不到兼容的服务器 4.配置环境变量 5.验证是否安装.配置环境变量成功 6.使用navicat创建数据库 6. ...

最新文章

  1. c++ 读取访问权限冲突_关于Windows文件6项基础权限的一些设置!
  2. 利用Eclipse的JPA自动生成注解实体
  3. php 7连接mysql数据库
  4. Lua——table(表)的使用
  5. Emmet的html语法
  6. 最新!北京电影学院成立“翟天临事件”调查组
  7. 叮咚!7.24运维节,您有一份礼物待查收!
  8. System verilog随机系统函数$random使用方法
  9. android crash没有日志_App测试之monkey(四)-调试参数及日志
  10. [bzoj4813][Cqoi2017]小Q的棋盘
  11. Android--数据存储
  12. lua游戏脚本自动打怪_了解Lua(官方文档翻译)
  13. 1000入门测试题目
  14. 制作u盘linux课程报告,定制U盘Linux系统总结报告-Linux文档类资源
  15. 可闭环、可沉淀、可持续的企业级数据赋能体系
  16. 如何让RS485总线挂接更多数量的设备?
  17. Elasticsearch辅助插件安装
  18. 1370. Increasing Decreasing String
  19. vb.net 简单登录界面(三层架构思想)
  20. 身份证合法性校验规则

热门文章

  1. 【渝粤教育】 国家开放大学2020年春季 1444药理学(本) 参考试题
  2. 【渝粤题库】国家开放大学2021春2246社会工作概论题目
  3. NB-IoT在智能锁领域的应用
  4. 计算机网络第三章知识网络,计算机基础教案第三章计算机网络基础知识教案
  5. linux中kafka主题修改分区,kafka_2.11-2.0.0的部署与配置修改
  6. __getattribute__
  7. 如何为你的博客园添加到百度统计
  8. Apache Bench安装与使用
  9. OpenStack_I版 1.准备过程
  10. MFC程序打开文件对话框出错的问题解决