Java 连接MySQL8.0.12遇到的一些坑

注:部分内容为网上查找的,如有侵权,请联系我

最近换了台电脑,安装数据库的时候选了最新的8.0.12版本,今天用Java连接的时候遇到一些问题,记录下来。

注:使用gradle 整合springboot + mybatis 项目

之前一直使用的都是5.6的MySQL,所以选择连接的时候也就下意识的使用了5.x版本的连接,如下:

Java 连接MySQL8.0.12遇到的一些坑

然后测试的时候就报错了

Java 连接MySQL8.0.12遇到的一些坑一查说是连接版本问题。于是升级到最新的8.0.12,又出问题了:

Java 连接MySQL8.0.12遇到的一些坑

再一查,原来新版的驱动配置有些变化:

1. url连接必须设置时区

MySQL Connector/J 5.x (旧版连接)

#jdbc.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8

MySQL Connector/J 6.x (新版连接)

jdbc.url=jdbc:mysql:///test?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false

说明: 新版驱动url默认地址为127.0.0.1:3306,所以访问本机mysql数据库地址可以用 /// 表示。

 

2. 新的驱动类位置有了变化(不影响使用,但会报警告)

MySQL Connector/J 5.x (旧版驱动)    jdbc.driver_class=com.mysql.jdbc.Driver

MySQL Connector/J 6.x (新版驱动)    jdbc.driver_class=com.mysql.cj.jdbc.Driver