MySQL 通信异常或者通信连接失败
1、异常详情
com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
2、解决方案
url需要添加属性useSSL=false,完整url路径如下
-url: jdbc:mysql://[服务主机ip]:3306/database?useUnicode=true&useSSL=false&characterEncoding=utf-8
3、分析原因
概念:SSL(Secure Sockets Layer 安全套接字协议)
- SSL(Secure Socket Layer)安全套接层是Netscape公司率先采用的网络安全协议。它是在传输通信协议(TCP/IP)上实现的一种安全协议,采用公开密钥技术。SSL广泛支持各种类型的网络,同时提供三种基本的安全服务,它们都使用公开密钥技术。
MySQL中的使用(useSSL)
-
在MySQL中
useSSL=true
是进行安全验证,需要通过使用证书(类似SSH连接)或者令牌之类的认证 -
在
mysql
进行连接的时候,如果mysql
的版本是5.7以后则,必须要关闭该协议,即加上useSSL=false
-
mysql5.7
及之前版本则不用添加useSSL=false
,会默认为false
-
我们日常使用一般都是
useSSL=false
,即只需要数据库服务系统的账号密码就可连接成功!