irpas技术客

Public Key Retrieval is not allowed解决_鳄鱼杆

网络 3128

记录Public Key Retrieval is not allowed

文章目录 记录Public Key Retrieval is not allowed一、导致“Public Key Retrieval is not allowed”原因二、针对上述错误,有如下的解决方案:

一、导致“Public Key Retrieval is not allowed”原因

1、当禁用 SSL/TLS 协议传输后,客户端会使用服务器的公钥进行传输,默认情况下客户端不会主动去找服务器拿公钥,出现错误。

出现 Public Key Retrieval 的场景可以概括为:

1、禁用 SSL/TLS 协议传输切当前用户在服务器端没有登录缓存的情况下,客户端没有办法拿到服务器的公钥。具体的场景如下:

1、新建数据库用户,首次登录; 2、数据库的用户名、密码发生改变后登录; 3、服务器端调用 FLUSH PRIVELEGES 指令刷新服务器缓存。

二、针对上述错误,有如下的解决方案:

1、在条件允许的情况下,不要禁用 SSL/TLS 协议, ?即不要在 CLI 客户端使用–ssl-mode=disabled ?或在 JDBC 连接串中加入 useSSL=false;

如果必须禁用 SSL/TLS 协议, ?尝试使用 CLI 客户端登录一次 MySQL 数据库制造登录缓存; ?可通过增加如下参数允许客户端获得服务器的公钥:

1、在 JDBC 连接串中加入 allowPublicKeyRetrieval=true 参数; 2、在 CLI 客户端连接时加入–get-server-public-key 参数; 3、在 CLI 客户端连接时加入–server-public-key-path=file_name 参数,指定存放在本地的公钥文件。

源文章地址:https://cloud.tencent.com/developer/news/791903


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #PUBLIC #key #Retrieval #is #not #allowed解决 #当禁用 #SSLTLS