mybatis连接mysql8.0数据库时报错:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException
前言
今天在连数据库的时候一直报错,报错如标题所示,后来经过排查,网上各种找资料,最终得以解决,将经验分享给大家。
一、更改数据库驱动
经过排查得知,是配置的数据库驱动与本地数据库不配置导致。
于是将数据库驱动升级为数据库版本。
- 在项目的 pom.xml 中查看驱动版本,版本为 5.1.39。
- 查看本地数据库版本 ,版本为 8.0.13。
- 将驱动版本改为 8.0.13并导入,如标记处1,2所示。
二、添加 “?serverTimezone=GMT%2B8”
升级了版本驱动,还是报错,这次的错误是"连接MySQL部分的时候报错java.sql.SQLException: The server time zone value ‘Öйú±ê׼ʱ¼ä’ is unrec"。经过百度查找解决方案得知需要在数据库连接后面加上“?serverTimezone=GMT%2B8”。加上之后,问题解决。
- 在数据库连接地址后面加上 “?serverTimezone=GMT%2B8”。
三、总结
- 像这种坑没有什么技术性总结,只要记得以后如果是非业务代码问题,就从版本是否匹配方向思考。
- 遇到任何事情都要有耐心,即便是很简单的问题半天都找不出答案也要耐心,度娘和 优快云 会成全你。