部署系统总是报Communications link failure错误,检查.sh脚本程序正常操作数据库,做了个测试连接mysql的java程序也没有什么问题。在网上找了很多种方案,没有解决问题;重新安装部署mysql、java和系统也没有用。于是计划翻日志检查代码,效果也不好,想着我也没有用SSL,干脆指定不用SSL了。连接成功。
过程如下:
启动服务报错:
Manager.log:Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
…
Manager.log:Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: missing_extension
…
【1】增加程序参数-Dhttps.protocols=SSLv3,TLSv1
网上有说指定协议的。于是在java调用配置里面增加参数-Dhttps.protocols=SSLv3,TLSv1。
问题没有解决还是报错。
【2】添加useSSL=false
修改配置文件:
url: jdbc:mysql://127.0.0.1:3306/manager?useUnicode=true&characterEncoding=utf-8&useSSL=false
重新启动,问题解决。
如果您也碰到这个问题,并且也没有要求必须使用SSL,可以尝试一下这个方式。