springboot连接mysql异常 Caused by: java.net.ConnectException: Connection refused (Connection refused)

本文详细解析了在使用SpringBoot连接数据库时遇到的CommunicationsException及ConnectException异常,探讨了包括连接信息错误、数据库状态、连接方式及防火墙等四大主要原因,并提供了针对性的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过springboot连接数据库时

抛出下列主要异常信息

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

Caused by: java.net.ConnectException: Connection refused (Connection refused)

对于这个问题,产生异常的原因可以说是花样繁多,我也不能保证我的博文是不是一定有用,毕竟我也是在网上一个方法一个方法试过来的。

下面我就列出几种主要的问题产生原因以及解决方法

1.连接的ip地址或者是主机名错误,连接数据库的URL中端口号错误或者被占用,以及用户名或者密码错误

我本人用的navicat这个软件,可以直接用它新建连接,然后填入主机号,用户名,和密码,去建立连接,看看能否连接成功

2.数据库关了

windows系统可以去服务中查看,mac可以点击设置里的mysql小图标去查看。

3.数据库不支持tcp/ip连接

我本人就是碰到了这个问题,我在通过Navicat测试连接的时候就发现出错,但是可以通过高级设置中的使用socket文件,去避免这个问题,于是我认为我这边可能是连接方式的问题,mac os需要在etc目录下新建my.cnf文件,并填入相应的配置,然后重启mysql即可使其支持tcp/ip连接。对应教程参考:
https://blog.youkuaiyun.com/jyongchong/article/details/77862819

4.防火墙之类的东西阻断了虚拟机和数据库之间的连接

如果是这个问题的话,直接关闭防火墙就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值