关于mysql8.0.11版本出现数据库连不上JEESNS问题解决办法

笑着哭i 提交于 2021-01-14 07:11:14

今天登录码云,看到4天前有人评论说连不上数据库,具体描述如下 :

本地项目运行后报错,百度后说是mybatis版本与tomcat不兼容,然后把mybatis的版本换成了3.4.4。之后运行项目就一直提示org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: Connections could not be acquired from the underlying database!,检查了很多次jdbc的配置,实在找不到问题所在,有遇到我这种情况的么?
用navicat连接本地数据库都是正常的。

看到这个错误信息,第一时间感觉就是数据库信息错了,所以我直接回复问他:在修改mybatis版本在之前是报什么错误呢?

然后叫他检查下jeesns.properties中数据库配置信息是否正确。

我觉得肯定是数据库信息错了,然后就过了。

然后下午我用公司的电脑想运行一下jeesns,修复下xss脚本注入漏洞,可是发现数据库信息都正常,但是就是提示连不上数据库,然后各种百度,无非就2种情况,一是数据库信息错了,二是数据库驱动版本不对。

突然想起来,公司的电脑我安装的mysql版本是比较高的,然后看了下mysql版本,直接搜索mysql8.0 java驱动,发现8.0.11版本的mysql的驱动连接方式不一样,之前我们这边用的是com.mysql.jdbc.Driver,而8.0.11要用com.mysql.cj.jdbc.Driver,此外mysql8.0是不需要建立ssl连接的,所以需要关闭掉,最后需要设置CST。

使用mysql8.0.11版本的话,需要做以下修改。

驱动修改成8.0.11的

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.11</version>
</dependency>

再修改jeesns.properties前面两行为

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/jeesns?useSSL=false&serverTimezone=UTC&characterEncoding=utf8&allowMultiQueries=true

这样就可以连接数据库了。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!