Java连接MySQL8.0以上版本数据库方式

 

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 versionDriver TypeJDBC versionMySQL Server versionStatus
5.143.0, 4.0, 4.1, 4.25.6*, 5.7*, 8.0*General availability
8.044.25.6, 5.7, 8.0General availability. Recommended version

  

2、com.mysql.jdbc.Driver 更换为 com.mysql.cj.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、最后还需要设置 CST。也就是设置时区。

  serverTimezone=UTC

 

例子
1 Class.forName("com.mysql.cj.jdbc.Driver");
2 conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/test_demo?useSSL=false&serverTimezone=UTC","root","password");
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值