mysql 8.0 默认使用 caching_sha2_password 身份验证机制 (即从原来mysql_native_password 更改为 caching_sha2_password。)从 5.7 升级 8.0 版本的不会改变现有用户的身份验证方法,但新用户会默认使用新的 caching_sha2_password 。 客户端不支持新的加密方式。 修改用户的密码和加密方式。

解决方案1 :修改数据库认证方式

在命令行模式下进入mysql,输入以下命令:

1
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

或者

1
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

然后就可以正常连接了。

解决方案2:修改软件连接属性(推荐🎈)

在配置数据源的时候直接将属性allowPublicKeyRetrieval设置为true即可

Pasted image 20240105094823.png

当你使用JDBC连接的时候添加:
Pasted image 20240105095145.png