DBeaver连接mysql8.0报错Public Key Retrieval is not allowed
时间: 2023-11-14 07:10:57 浏览: 47
DBeaver连接mysql8.0报错Public Key Retrieval is not allowed是由于MySQL 8.0默认启用了caching_sha2_password插件,而DBeaver默认使用mysql-connector-java 5.x版本,该版本不支持caching_sha2_password插件。解决方法如下:
1.升级mysql-connector-java到8.x版本。
2.在MySQL 8.0中创建一个新用户并授权,使用该用户连接MySQL。
3.修改MySQL 8.0的加密方式为mysql_native_password。可以通过以下命令修改:
ALTER USER 'user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
其中,user为你的用户名,localhost为你的主机名,password为你的密码。
相关问题
dbeaver链接本地mysql后报错Public Key Retrieval is not allowed是什么原因
报错"Public Key Retrieval is not allowed"是因为在使用DBeaver连接本地mysql时,配置的连接设置中未允许公钥检索。这可能是由于mysql的新的安全设置所导致的。为了解决这个问题,你可以按照以下步骤进行操作:
1. 右键点击连接失败的数据连接,选择"编辑连接"。
2. 在连接设置中,选择"驱动属性"。
3. 找到"allowPublicKeyRetrieval"属性,并将其值改为"TRUE"。
4. 点击确定保存修改。
5. 现在尝试重新连接mysql,应该可以成功连接了。
另外,如果你是使用docker拉取mysql镜像,并且通过DBeaver连接,也有可能会出现这个问题。在这种情况下,你可以尝试使用以下命令拉取并启动mysql镜像:
```
docker pull mysql
docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
```
这样,你就可以使用DBeaver连接到docker中的mysql实例了。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [DBeaver连接mysql 报错:Public Key Retrieval is not allowed](https://blog.csdn.net/qq_32379229/article/details/124338470)[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* [DBeaver连接MySQL提示“Public Key Retrieval is not allowed”的解决办法](https://blog.csdn.net/m0_46983541/article/details/130304705)[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 ]
dbeaver连接报错Public Key Retrieval is not allowed
你好!对于 "Public Key Retrieval is not allowed" 错误,这通常是由于数据库连接配置问题引起的。要解决此错误,可以尝试以下几个步骤:
1. 检查数据库连接字符串:确保连接字符串中的相关参数正确设置。特别关注是否设置了 `allowPublicKeyRetrieval=true`。
2. 检查数据库用户权限:确保你使用的数据库用户具有足够的权限来执行公钥检索操作。你可以尝试使用具有更高权限的用户进行连接测试。
3. 检查数据库配置:检查数据库服务器的配置文件,确保允许公钥检索操作。具体配置可能因数据库类型而异。
4. 更新数据库驱动程序:如果你使用的是 JDBC 驱动程序连接数据库,尝试更新到最新版本的驱动程序,以确保兼容性和修复已知的问题。
如果上述步骤没有解决问题,你可以提供更多具体信息和背景,以便我能够给出更准确的解决方案。