数据库报错:Cause com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure(已解决)

文章讲述了MySQL在高版本中默认启用SSL连接可能导致的连接问题,以及数据库连接超时的两种情况。解决方案包括设置`useSSL=false`禁用SSL,以及调整MySQL配置文件中的超时参数。此外,还解释了SSL在提升数据库安全性方面的作用。

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

原因

1.因为SSL连接原因(大部分人的原因)

因为MySQL在高版本需要指明是否进行SSL连接。有可能你 pom 文件引入的 MySQL 依赖版本是MySQL5.7及以上 这些的时候,你就需要指定SSL连接,如果你不知道,默认就是开启,所以就会出现上面的错误。

2.因为数据库连接超时原因

当数据库重启或数据库空闲连接超过设置的最大timemout时间,数据库会强行断开已有的链接。

注意: 如果出现下面错误也可以试一下这个错的解决方法
No appropriate protocol (protocol is disabled or cipher suites are inappropriate)

解决

1.只需要设置useSSL=false来禁用SSL

例如:jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false

SSL作用

在MySQL5.7之前的版本,安全性较低,存在任何用户都可以连接上数据库,所以官方在5.7版本加大了对隐私的保护。并且采用了默认 useSSL = true值防止对数据库的随意修改,到了8.0版本,仍然保留了SSL,并且默认值为 true。

2.超时解决

windows系统配置 MySQL 的 my.ini文件的 interactive_timeout=388000wait_timeout=388000 属性。

linux系统下需要去mysql的安装目录查看my.cnf文件,然后修改同样的属性。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱穿背带裤的馫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值