通过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.csdn.net/jyongchong/article/details/77862819

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

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

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐