Public Key Retrieval is not allowed

java项目启动报错:java.sql.SOLNonTransientConnectionException Create breakpoint : Public Key Retrieval is not allowed,应该如何解决呢?

解决办法:

在mysql数据库链接后面加上 allowPublicKeyRetrieval=true&useSSL=false 参数

举例:jdbc:mysql://localhost:3306/mydatabase?allowPublicKeyRetrieval=true&useSSL=false

&allowPublicKeyRetrieval=true&useSSL=false 这两个参数的作用是配置MySQL数据库连接时关于SSL/TLS安全连接的选项。

  1. allowPublicKeyRetrieval: 当设置为true时,允许客户端从服务器获取公钥。这通常与useSSL参数一起使用。在某些情况下,例如当MySQL服务器配置为使用SSL/TLS进行连接时,可能需要客户端验证服务器的证书。此时,客户端需要能够从服务器获取到公钥才能完成SSL握手过程。默认情况下,这个选项可能是关闭的,因为如果网络中存在中间人攻击(MITM),那么攻击者可能会通过拦截通信来获取这个公钥,从而威胁到整个SSL连接的安全性。只有在确定网络环境安全或者在本地开发环境中,才会建议启用此选项。

  2. useSSL: 当设置为false时,表示禁用SSL/TLS连接。这意味着客户端和服务器之间的通信将不会通过SSL/TLS加密。在某些情况下,如果数据库服务器没有正确配置SSL/TLS,或者在不需要加密的情况下,可以禁用SSL连接。然而,在生产环境中,除非有充分的理由,否则通常推荐使用安全的SSL/TLS连接来保护数据传输。

这两个参数通常出现在MySQL的JDBC连接字符串中,用于指导数据库驱动程序在建立连接时如何处理SSL/TLS通信。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Roc-xb

真诚赞赏,手留余香

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

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

打赏作者

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

抵扣说明:

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

余额充值