这个错误是因为MySQL数据库使用了 caching_sha2_password 插件进行身份验证,而该插件需要 MySQL 8.0.4 及以上版本的 MySQL 客户端才能够使用。
如果你使用的是旧版本的 MySQL 客户端,可以考虑升级到 MySQL 8.0.4 或更高版本。如果升级不是一个可行的选项,你可以考虑使用以下两种方法之一来解决这个问题:
方法一:.更改MySQL用户密码的加密方式
可以更改MySQL用户密码的加密方式,以便它与你正在使用的MySQL客户端兼容。你可以使用以下命令更改用户密码的加密方式:
ALTER USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
将 ‘username’ 和 ‘password’ 替换为你的用户名和密码。
方法二:创建一个新用户
如果更改密码加密方式的方法不起作用,可以尝试创建一个新用户并为其分配与现有用户相同的权限。你可以使用以下命令创建新用户:
CREATE USER 'new_username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
将 ‘new_username’ 和 ‘password’ 替换为你要创建的新用户名和密码。
然后,你可以为新用户授予与现有用户相同的权限:
GRANT ALL PRIVILEGES ON your_database_name.* TO 'new_username'@'localhost';
将 ‘your_database_name’ 替换为你要授予权限的数据库名称。
使用这些方法之一,你应该可以成功连接到 MySQL 数据库。
来源地址:https://blog.csdn.net/m0_48096446/article/details/130648226