IDEA连接MySQL8.0数据库时,报错[08001] Could not create connection to database server. Attempted reconnect 3 times. Giving up.
1、Bug复现
最近,使用easyCode工具逆向生成时,连接数据库时,一直报错,出现连接失败(我的MySQL数据库版本为8.0版本,5.0及以上版本未发现此问题)。
报错信息如下:
Connection to @localhost failed.
[08001] Could not create connection to database server. Attempted reconnect 3 times. Giving up.
2、问题原因
刚开始由于要急切连接上数据库,所以,就查找了一个解决方案,说是在IDEA连接数据库界面的URL后面,添加下面配置:
?serverTimezone=GMT
添加完上面配置之后,的确解决了燃眉之急,但是这样做,有一个弊端,就是每次都要添加,所以为了从根本上解决,就抽时间查找了一下具体原因。
出现这种问题的原因就是:系统默认的时区与IDEA连接数据库的时区 (MySQL默认时区为UTC) 不一致,
按照格林威治的时间,我们属于东八区时间,领先UTC八个小时,所以说存在8小时的时差。
查找到这个原因之后,特意查看了一下MySQL的时区,具体操作如下:
3、问题解决
知道原因之后,就进行解决吧,针对这个问题,网上有以下解决方案,这里都贴上,仅供参考。
方案1: 在mysql的命令模式下,输入:set global time_zone='+8:00'; 不过,这种方式,mysql服务启动每启动一次,就要重新输入一次!!!
方案2: 在MySQL安装目录下找到my.ini文件并打开, 在[mysqld]下添加一行 default-time-zone='+08:00' 然后,保存文件,重启MySQL数据库服务
重启MySQL服务之后,查看修改之后的时区值,如下:
方案3:
在IDEA上连接数据库时,修改 Advanced 中 serverTimezone 的属性值为 Asia/Shanghai
方案4:
降低MySQL数据库驱动的版本,这里我的MySQL数据库版本为8.0版本,可以降级到5.0及以上的版本,也可以解决这个问题
**************************************************** 林深时见鹿,海蓝时见鲸 ****************************************************
分类:
数据库
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?