mysql -uroot -p 登录mysql 时报错:ERROR 2061 (HY000): Authentication plugin ‘caching_sha2_password’ reported error:
解决步骤:
- 停止MySQL服务。
- 启动MySQL服务时,需要使用–skip-grant-tables选项来跳过权限检查,这样你就可以无需密码登录MySQL服务器。
在Linux系统中,如果你使用的是系统自带的MySQL服务管理工具(如systemd或init.d),你可以通过编辑MySQL的配置文件来添加–skip-grant-tables选项。通常MySQL的配置文件位于/etc/my.cnf或/etc/mysql/my.cnf。你可以在配置文件的[mysqld]部分添加以下行:
skip-grant-tables
然后重启MySQL服务。
在Windows系统中,如果你是通过MySQL Server安装程序安装的MySQL,你可以通过MySQL服务的属性来添加–skip-grant-tables选项。你可以在"服务"管理工具中找到MySQL服务,然后右键点击"属性",在"启动参数"中添加–skip-grant-tables,然后重启MySQL服务。
请注意,使用–skip-grant-tables选项启动MySQL服务时,所有用户都可以无需密码登录MySQL服务器,并且权限检查被禁用。因此,在完成密码认证插件的修改后,一定要记得移除这个选项并重新启动MySQL服务,以恢复正常的权限检查。
- 登录 :
mysql -uroot
- 运行SQL语句来修改密码认证插件
UPDATE mysql.user SET plugin='mysql_native_password' WHERE User='username' AND Host='host';
将username和host替换为你的实际用户名和主机名,查看用户名和主机名
SELECT user, host FROM mysql.user;
5.刷新权限:
FLUSH PRIVILEGES;