新建MySQl显示Public Key Retrieval is not allowed
时间: 2023-10-13 14:18:45 浏览: 142
您好!对于您遇到的 "Public Key Retrieval is not allowed" 错误,您可以尝试以下几种解决方法:
1. 在您的连接字符串(Connection String)中添加 `allowPublicKeyRetrieval=true` 参数,例如:
```
jdbc:mysql://localhost:3306/database_name?allowPublicKeyRetrieval=true
```
2. 更新您的 MySQL 驱动程序到最新版本。您可以前往 MySQL 官方网站下载最新版本的驱动程序,并将其替换掉旧的驱动程序。
3. 如果您正在使用旧版本的 MySQL 服务器,请尝试将 `useSSL=false` 参数添加到连接字符串中,例如:
```
jdbc:mysql://localhost:3306/database_name?useSSL=false
```
请注意,这是一个常见的解决方案列表,具体解决方法可能因您的环境和配置而异。如果以上方法都无法解决问题,请提供更多关于您的环境和配置的详细信息,以便我能够更好地帮助您解决问题。
相关问题
为什么我利用dbeaver 连接mysql显示Public Key Retrieval is not allowed Public Key Retrieval is not allowed
当使用DBeaver连接MySQL时,出现"Public Key Retrieval is not allowed"错误通常是由于MySQL服务器的配置问题引起的。这个错误表示MySQL服务器不允许使用公钥检索。
解决这个问题的方法是修改MySQL服务器的配置文件,具体步骤如下:
1. 打开MySQL服务器的配置文件。在Linux系统上,配置文件通常位于/etc/mysql/mysql.conf.d/目录下,文件名为mysqld.cnf。在Windows系统上,配置文件通常位于MySQL安装目录下的data文件夹中,文件名为my.ini或my.cnf。
2. 在配置文件中找到[mysqld]部分,并添加或修改以下行:
```
[mysqld]
...
skip-grant-tables
```
这将允许在连接时跳过权限验证。
3. 保存并关闭配置文件。
4. 重启MySQL服务器,使配置更改生效。
请注意,这种方法只是临时解决方案,它会绕过MySQL的权限验证机制。在生产环境中,建议使用更安全的方法来解决此问题。
docker mysql映射 Public Key Retrieval is not allowed Public Key Retrieval is not allowed
这个问题可能是因为 MySQL 8.0 默认使用了 caching_sha2_password 身份验证插件,而该插件需要使用公钥来进行身份验证。可以尝试修改 MySQL 用户的身份验证插件为 mysql_native_password,方法如下:
1. 进入 MySQL 容器内部:`docker exec -it <container_name> bash`
2. 登录 MySQL:`mysql -u <username> -p`
3. 修改用户的身份验证插件:`ALTER USER '<username>'@'%' IDENTIFIED WITH mysql_native_password BY '<password>';`
4. 刷新权限:`FLUSH PRIVILEGES;`
5. 退出 MySQL:`exit`
6. 退出容器:`exit`
阅读全文