升级扫描一个漏洞看了

升级到mysql-connector-java8.0.27的注意事项

数据库教程 2021-12-27 10:29:57 40

导读

最近线上安全扫描到mysql连接器的一个漏洞,看了一下用的是5.1.47的版本,确实挺久了 建议是升级到8.0.27最新版 凡是升级总会碰到点问题,换了连接器后部署果然报错了 ###Errorqueryingdatabase. Cause:java.lang.RuntimeException:java.lang.ClassNotFoun……

最近线上安全扫描到mysql连接器的一个漏洞,看了一下用的是5.1.47的版本,确实挺久了 

建议是升级到8.0.27最新版

升级到mysql-connector-java8.0.27的注意事项

凡是升级总会碰到点问题,换了连接器后部署果然报错了

### Error querying database.  Cause: java.lang.RuntimeException: java.lang.ClassNotFoundException: com.mysql.jdbc.jdbc2.optional.MysqlDataSource

怎么都连接不上数据库

查找配置文件发现,连接池配置连接的类都找不到了

升级到mysql-connector-java8.0.27的注意事项

换回 mysql-connector-java 5.1.47后,这个类就可以找到了

升级到mysql-connector-java8.0.27的注意事项

查看jar包源码发现更换mysql-connector-java 8.0.27后连接jdbc的类的路径都改了,大坑

升级到mysql-connector-java8.0.27的注意事项

最后更换为 com.mysql.cj.jdbc.MysqlDataSource 就可以了

升级到mysql-connector-java8.0.27的注意事项

最后附上mysql8.0+的数据库连接配置

jdbc.driverClassName=com.mysql.cj.jdbc.Driver

jdbc.url=jdbc:mysql://*****?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&autoReconnect=true&allowMultiQueries=true&useSSL=false&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true

其余的框架配置为

<spring_version>4.3.29.RELEASE</spring_version>

<mybatis_version>3.4.0</mybatis_version>

<mybatis_spring_version>1.3.0</mybatis_spring_version>

1253067 TFnetwork_cn