当在 DBeaver 中连接 MySQL 时出现 “Public Key Retrieval is not allowed” 这个提示,通常是由于 MySQL 服务器的配置与客户端的连接设置不匹配导致的。

这可能是因为 MySQL 服务器默认禁止了通过客户端自动获取公钥的操作。

要解决这个问题,您可以尝试以下几种方法:

  1. 在连接字符串中添加参数
    在连接设置中,您可以在连接属性的高级设置中添加以下参数:
    allowPublicKeyRetrieval=true
    例如,如果您使用的是 JDBC 连接字符串,可能类似于:
    jdbc:mysql://localhost:3306/database?allowPublicKeyRetrieval=true

  2. 更改 MySQL 服务器配置
    您可以通过修改 MySQL 服务器的配置文件(通常是my.cnf或my.ini)来允许公钥检索。找到[mysqld]部分,添加以下行:
    server-allow-public-key-retrieval = true
    然后重启 MySQL 服务器以使更改生效。

例如,如果您是在本地开发环境中,并且使用 XAMPP 集成环境,您可以按照以下步骤操作:

  • 打开 XAMPP 控制面板。
  • 停止 MySQL 服务。
  • 找到 XAMPP 安装目录下的mysqlinmy.ini文件,进行上述配置更改。
  • 保存文件后,再次通过 XAMPP 控制面板启动 MySQL 服务。

更多推荐