dbeaver连接mysql报错Public Key Retrieval is not allowed

这个错误通常发生在尝试通过JDBC连接MySQL数据库时,并且是由于MySQL的配置不允许公钥检索导致的。从MySQL 5.0开始,连接时默认需要使用密钥进行密码加密传输。如果JDBC驱动程序尝试通过不允许公钥检索的方式进行连接,就会抛出这个错误。

解决方法:

  1. 更新JDBC连接字符串,添加允许公钥检索的选项。在连接字符串中添加allowPublicKeyRetrieval=true参数。例如:

    jdbc:mysql://hostname:port/database?allowPublicKeyRetrieval=true&useSSL=false

    注意:useSSL=false表示不使用SSL连接,这可能会使通信不再安全,根据你的安全要求可能需要保留或者替换为useSSL=true并配置正确的SSL参数。

  2. 如果你不希望修改连接字符串,可以考虑在MySQL服务器上配置SSL连接,并确保客户端证书正确安装。

  3. 另一个选择是在MySQL服务器上为连接的用户账号设置允许不使用密钥进行密码验证,但这通常不推荐,因为会降低连接的安全性。

确保在实施任何解决方案之前了解所做更改的安全影响,并考虑到最新的安全最佳实践

posted @ 2024-05-13 13:54  天梦红  阅读(119)  评论(0编辑  收藏  举报