mysql报错Public Key Retrieval is not allowed
MySQL 报错:Public Key Retrieval is not allowed
已解决:MySQL8报错:Public Key Retrieval is not allowed
问题描述
连接数据库总是报错 Public Key Retrieval is not allowed
解决方案
MySQL 8.0 默认使用 caching_sha2_password 身份验证机制,即从原来的 mysql_native_password 更改为 caching_sha2_password。
从 5.7 升级 8.0 版本不会改变现有用户的身份验证方法,但新用户会默认使用新的 caching_sha2_password。由于客户端不支持新的加密方式,因此需要修改用户的密码和加密方式。
方案一
在命令行模式下进入 MySQL,输入以下命令:
1 | ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'; |
或者:
1 | ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root'; |
即重新修改密码,然后就可以正常连接了。
方案二
在配置数据源的时候,直接将属性 allowPublicKeyRetrieval 设置为 true 即可。
评论

