报错:Public Key Retrieval is not allowed
时间: 2023-10-12 12:05:50 浏览: 109
报错:"Public Key Retrieval is not allowed"是由于禁用了SSL/TLS协议传输导致的。在禁用SSL/TLS协议传输的情况下,客户端无法主动获取服务器的公钥,从而引发了该错误。这种情况通常发生在以下场景下:新建数据库用户首次登录、数据库用户名密码发生改变后登录、服务器端刷新缓存。解决该错误可以采取以下方案:
1. 在条件允许的情况下,不要禁用SSL/TLS协议,即不要在CLI客户端使用--ssl-mode=disabled或在JDBC连接串中加入useSSL=false参数。
2. 如果必须禁用SSL/TLS协议,可以尝试使用CLI客户端登录一次MySQL数据库制造登录缓存。
3. 在JDBC连接串中加入allowPublicKeyRetrieval=true参数,允许客户端获取服务器的公钥。
4. 在CLI客户端连接时加入--get-server-public-key参数,指定从服务器获取公钥。
5. 在CLI客户端连接时加入--server-public-key-path=file_name参数,指定存放在本地的公钥文件。
需要注意的是,启用AllowPublicKeyRetrieval=True可能会存在安全风险,因为恶意代理可能执行中间人攻击以获取明文密码。因此,默认情况下AllowPublicKeyRetrieval为False,必须显式启用。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [MySQL 8.0 Public Key Retrieval is not allowed 错误的原因及解决方法](https://blog.csdn.net/u011447905/article/details/121441165)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* [Public Key Retrieval is not allowed解决](https://blog.csdn.net/weixin_55599565/article/details/125140094)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文