连接数据库时报错 Public Key Retrieval is not allowed
时间: 2023-10-15 22:21:23 浏览: 147
这个错误通常是由于 MySQL 版本更新或更改了默认配置导致的。在 MySQL 8.0 版本中,默认情况下禁止从服务器检索公钥,需要手动指定使用密码进行认证。
要解决这个问题,可以尝试以下两种方法之一:
1. 修改 MySQL 配置文件:在 MySQL 配置文件 my.cnf 或 my.ini 中,找到 [client] 部分,在该部分下添加如下配置:
```
[client]
# 允许从服务器检索公钥
allowPublicKeyRetrieval=true
```
保存修改后,重启 MySQL 服务。
2. 在连接数据库时指定 allowPublicKeyRetrieval 参数:在连接数据库时,添加 allowPublicKeyRetrieval 参数,例如:
```
mysql -u username -p --allowPublicKeyRetrieval=TRUE
```
或者在代码中连接数据库时,添加 allowPublicKeyRetrieval 参数,例如:
```python
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
passwd="yourpassword",
database="mydatabase",
allow_public_key_retrieval=True
)
```
以上两种方法都可以解决 Public Key Retrieval is not allowed 错误。如果还有其他问题,请详细查看 MySQL 官方文档或者咨询相关技术人员。
阅读全文