MySQL-Connector-Java8.0.16 Java8 连接数据库问题

在此,顺便推荐一个笔记本软件,感觉还是挺好用的,云效益记录本: www.ushooo.com,

支持markdown,富文本编辑,还免费,非常不错。

 

关于使用驱动连接时发生:No appropriate protocol (protocol is disabled or cipher suites are inappropriate)

问题。
运行环境是Java8。
这种情况是由于MySQL-Connector-Java8.0.16,使用了SSL,是会使用JRE中的java.security 文件作为安全连接配置,
包括MySQL SSL 握手连接,将会使用java.security作为连接配置。

Communications link failure:The last packet sent successfully to the server was 0 milliseconds ago.
的错误,也有可能是因为上述的问题导致的,所以注意看日志。
在Java11 中是可以直接连接的。因为在java.security中,是对加密配置做了开放配置。

但是在java8中,如下配置,是被禁用的,所以需要单独移除SSLv3, TLSv1, TLSv1.1的禁用

jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1,RC4, DES, MD5withRSA, \
    DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \
    include jdk.disabled.namedCurves

虽然如此,开启什么配置,取决于连接的MySQL服务,支持哪种加密握手方式。
我们可以通过执行:

 

SHOW GLOBAL VARIABLES LIKE 'tls_version';

来查看tls的支持,比如:

+---------------+-----------------------+
| Variable_name | Value                 |
+---------------+-----------------------+
| tls_version   | TLSv1,TLSv1.1,TLSv1.2 |
+---------------+-----------------------+

参考:

https://stackoverflow.com/questions/38205947/sslhandshakeexception-no-appropriate-protocol

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值