DBeacer连接MySQL8.0 报错 Public Key Retrieval is not allowed解决

内容纲要

问题

DBeacer连接MySQL8.0 报错

Public Key Retrieval is not allowed

原因

在使用 DBeaver 连接 MySQL 8 时,遇到 "Public Key Retrieval is not allowed" 错误,通常是由于 MySQL 8 引入的默认身份验证插件 caching_sha2_password 导致的。在某些情况下,DBeaver 或其他客户端无法正确获取 MySQL 的公钥进行身份验证。

解决方案

在使用 DBeaver 连接 MySQL 8 时,遇到 "Public Key Retrieval is not allowed" 错误,通常是由于 MySQL 8 引入的默认身份验证插件 caching_sha2_password 导致的。在某些情况下,DBeaver 或其他客户端无法正确获取 MySQL 的公钥进行身份验证。

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

方法一:修改连接配置

  1. 打开 DBeaver 并选择你的 MySQL 连接。
  2. 在“连接设置”中,找到 SSLConnection settings(具体名称可能会略有不同)。
  3. 在连接 URL 中加入以下参数:
    useSSL=false&allowPublicKeyRetrieval=true

    这样 MySQL 会允许公钥检索并关闭 SSL 连接。你的连接字符串应如下所示:

    jdbc:mysql://localhost:3306/your_database?useSSL=false&allowPublicKeyRetrieval=true

或者直接修改DBeaver连接配置

  1. 重新连接看看问题是否解决。

方法二:修改 MySQL 配置文件

  1. 打开 MySQL 配置文件 my.cnf(Linux 通常在 /etc/mysql/my.cnf/etc/my.cnf,Windows 通常在安装目录)。
  2. [mysqld] 部分添加以下行:
    [mysqld]
    default_authentication_plugin=caching_sha2_password
  3. 重新启动 MySQL 服务。

方法三:更改 MySQL 用户的身份验证插件

  1. 如果你使用的是 caching_sha2_password 插件,可以将其更改为 mysql_native_password 插件,方法如下:
    ALTER USER 'your_user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';
  2. 执行此命令后,重新尝试连接。

Leave a Comment

您的电子邮箱地址不会被公开。 必填项已用*标注

close
arrow_upward