JDBC连接mysql8和mysql5.7的注意事项
作者:牟云飞
JDBC连接mysql8和mysql5.7的注意
1、com.mysql.jdbc.Driver 是废弃的
不能使用, 应该使用新的驱动类 com.mysql.cj.jdbc.Driver
2、在写连接路径url时在末尾加上时区
mysql8以上的版本新增时区设置serverTimezone
jdbc:mysql://localhost:3306/test01?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai
3、jboss更改mysql驱动包
需要改server\default\lib和 server\default\deploy\自己的包\WEB-INF\lib\两个地方都改
驱动8.0需要jdk1.8+才行,5.1.46既可以满足jdk版本又能满足mysql库是8和5.7
已验证 5.1.46,既可以1.7jdk,还可以连接mysql8
---------
mysql驱动与jdk版本还有着一定的关系,经现场实测及搜索资料,记录如下:
应用JDK版本1.5
- 测试环境MySQL版本5.7 驱动版本5.1.40.jar 正常
- 生产环境MySQL版本8.0 驱动版本5.1.40.jar 连接不上
- 生产环境MySQL版本8.0 驱动版本8.0.11.jar 报JDK版本太低
应用JDK8
- 生产环境MySQL版本8.0 驱动版本8.0.11.jar 正常
应用JDK8
- 生产环境MySQL版本5.7 驱动版本8.0.11.jar 正常
应用JDK1.7 mysql库5.7 驱动5.1.38 正常
应用JDK1.7 mysql库8 驱动5.1.38 不行
应用JDK1.7 mysql库8 驱动5.1.46 正常
应用JDK1.7 mysql库5.7 驱动5.1.46 正常
应用JDK1.7 mysql库8 驱动5.1.46 正常
应用JDK1.7 mysql库8 驱动8.0.11 不行
应用JDK1.7 mysql库5.7 驱动8.0.11 不行
应用JDK1.8 mysql库8 驱动8.0.11 正常
心得
驱动8.0需要jdk1.8+才行,5.1.46既可以满足jdk版本又能满足mysql库是8和5.7,比较好!
还有别的网友提供的参考:
当使用某些密码套件时,Connector/J5.1需要JRE 1.8.x才能使用SSL/TLS连接到MySQL 5.6,5.7和8.0。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。