mysql8.0和java连接 (mysql-connector是干嘛的)

MySQL 8.0 开始数据库相比常用的 5.X 版本发生了比较大的变化,我们在连接数据库的过程中许多地方也要发生一些变化。

总结一下,想要利用 mysql-connector-java 与 MySQL 8.X 版本建立连接,有以下四个方面与 MySQL 5.X 版本相比发生了变化。

1、MySQL 8.0 以上版本驱动包版本 mysql-connector-java-8.X.jar。

  MySQL 版本和 mysql-connector-java 版本对应关系如下,MySQL官方也是推荐使用 mysql-connector-java-8.X.jar 去连接 MySQL 8.0 的版本。

Connector/J version

Driver Type

JDBC version

MySQL Server version

Status

5.1

4

3.0, 4.0, 4.1, 4.2

5.6*, 5.7*, 8.0*

General availability

8.0

4

4.2

5.6, 5.7, 8.0

General availability. Recommended version

2、 加载驱动语句会有一点不同

MySQL 8.X 版本 com.mysql. cj .jdbc.Driver

MySQL 5.X 版本 com.mysql.jdbc.Driver

3、MySQL 8.0 以上版本不需要建立 SSL 连接( 必填项 ),需要 显式关闭

  MySQL 5.7 之前版本,安全性做的并不够好,比如安装时生成的root空密码账号、存在任何用户都能连接上的 test 库等,导致数据库存在较大的安全隐患。从5.7版本开始MySQL官方对这些问题逐步进行了修复,到了 MySQL 8.0 以上版本已经不需要使用 SSL 进行连接加密了。但是高版本仍然保留了这个接口,所以需要在连接的时候手动写明是否需要进行 SSL 连接,这里我们手动关闭 SSL 连接加密就OK。

  useSSL=false

4、MySQL 8.0 以上版本设置时区( 必填项 )。

个人建议:根据“MySQL服务器”设置的时区情况(不建议默认设置,我会在其他篇幅详细讲解),对应设置Jdbc连接的时区。否则就会出现“少8小时、少13小时”各种时间问题。

例如:东八区

serverTimezone=GMT%2B8