mycat1.7管理MySql8报错Invalid DataSource:0的解决办法

问题原因:
mycat1.7目前采用的连接MySQL数据库的 mysql-connector-java jar包版本比较低,已经和8.0以上版本的MySql不兼容了

解决办法

  1. 删掉mycat的lib目录下的mysql的jdbc jar包,
  2. 重新copy一份新的jdbc jar包到lib目录下然后重启mycat就行了,

注意,下面的内容才是本篇文章的精华部分:
这里的jar包版本是有要求的,不能使用8.x版本的jdbc jar包,我之前看到有篇博客上说的是替换成8.x的jar包就行了,结果我尝试一下了发现还是不行,后来我把jar包换成5.1.49这个版本就可以了
这里的原因可能是jdbc 8.x版本的jar包的驱动类的全面名称已经和5.x版本的不一样了,
8.x版本的驱动类是com.mysql.cj.jdbc.Driver
5.x版本的驱动类是com.mysql.jdbc.Driver
我猜想mycat1.7的源码里肯定是将驱动类名已经固定写成"com.mysql.jdbc.Driver",所以我们在选择JDBC的jar包时既要兼容mycat,又得兼容mysql8
可以直接下载去mvn中央仓库复制5.X这个大版本下的最新的jdbc驱动包

你可能感兴趣的:(踩坑)