“Public Key Retrieval is not allowed”错误通常出现在使用JDBC连接MySQL数据库时,尤其是在MySQL 8.0及更高版本中。这个错误表明客户端尝试从服务器检索公钥来解密存储在服务器上的加密密码,但这种行为被服务器或驱动程序配置所禁止。 2. 可能原因 MySQL版本升级:从MySQL 5.7升级到8.0后,默认的身份验证插件从mysql_...
“Public Key Retrieval is not allowed” 错误是由于MySQL 连接驱动程序的默认行为更改所引起的。在 MySQL 8.0 版本及更新版本中, 默认情况下禁用了通过公钥检索用户密码的功能。 在旧版本的 MySQL 中,客户端连接到服务器时,可以使用公钥来检索用户密码。这种机制称为 “public key retrieval”,它允许客户端使用 公...
一、导致“Public Key Retrieval is not allowed”原因 当禁用 SSL/TLS 协议传输后,客户端会使用服务器的公钥进行传输,默认情况下客户端不会主动去找服务器拿公钥,进而会出现错误。 出现Public Key Retrieval 的场景可以概括为: 禁用SSL/TLS 协议传输切当前用户在服务器端没有登录缓存的情况下,客户端没有办法拿到...
如果某个应用程序启用了公钥检索功能,而其他应用程序未正确配置,就可能导致“Public Key Retrieval is not allowed”错误。此时,管理员需要逐一排查各个应用程序的配置,确保它们都能正常工作。 总之,“Public Key Retrieval is not allowed”错误的发生往往与服务器和客户端之间的配置不一致有关。通过深入了解这些具体场...
公钥检索不允许(Public Key Retrieval is not allowed) 在MySQL 8.0 及更高版本中,默认启用了更严格的安全设置。当客户端尝试使用 caching_sha2_password 插件进行密码验证时,MySQL 服务器会要求客户端提供公钥来加密密码。然而,许多旧版本的客户端库或驱动程序并不支持这种公钥检索机制,因此会抛出“Public Key Retrie...
在解决“Public Key Retrieval is not allowed”错误的过程中,我发现了另一种解决方法。这涉及到修改MySQL驱动的属性设置。具体来说,就是需要进入“连接设置”中的“驱动属性”部分,找到一个名为“allowPublicKeyRetrieval”的属性,并将其值设置为“true”。这样,我也成功地解决了连接问题,能够顺利地与MySQL服务...
根据前面的分析,导致“Public Key Retrieval is not allowed”主要是由于当禁用SSL/TLS协议传输后,客户端会使用服务器的公钥进行传输,默认情况下客户端不会主动去找服务器拿公钥,此时就会出现上述错误。 经过查阅官方文档,出现Public Key Retrieval的场景可以概括为在禁用SSL/TLS协议传输切当前用户在服务器端没有登录缓...
Public Key Retrieval is not allowed是MySQL数据库的一个安全特性,它默认禁止客户端从服务器请求RSA公钥,以防止恶意代理执行中间人以获取明文密码。如果需要允许客户端自动从服务器请求公钥,则需要将AllowPublicKeyRetrieval设置为True。但是需要注意,启用此选项可能会增加安全风险,因此默认情况下是禁用的。
连接mysql时报错:Public Key Retrieval is not allowed(不允许公钥检索) 报错截图: 解决方法:连接设置——驱动属性——allowPublicKeyRetrieval=false(这里的运输公钥检索是默认关闭的,需要把它开启),改为allowPublicKeyRetrieval=true即可。 连接数据库后,如果不想把此项开启,那在改为false就行,连接过一次后面都可正...
在MySQL连接中出现“Public Key Retrieval is not allowed”错误,通常是因为在使用安全套接字层(SSL)连接时遇到了问题。这是因为MySQL 8.0及以上版本对安全性要求更高,特别是在使用密码插件如caching_sha2_password时,默认要求加密通信,并且不允许通过不安全的方式获取服务器的公钥。