解决:ERROR 1045 (28000): Access denied for user ”root”@”XXX”

目录

1.场景:操作mysql数据库时,操作被拒绝

2.解决


1.场景:操作mysql数据库时,操作被拒绝

2.解决

虽然你使用的是root用户,但是他的权限被改了,导致无法正常操作数据库

第一步:开启mysql远程访问,在可视化界面操作

use mysql;
select user,host from user;

update user set host = '%' where user = 'root';

host表示在任意ip都可以访问root用户

当然,你可以不改;

2.查看root的权限

SELECT * FROM mysql.user WHERE user='root';

权限都在这个表里,很长,在ssh界面无法正常显示,用下面这条语句

select * from user where user='root'\G;

若你有多个root用户,可以在后面多加条件

 (这张图是修改后的权限显示)

发现目前我的Update_priv权限为Y,其他权限都是N,这表示可以我们可以更新权限

发现问题所在

直接通过sql更新语句

update user set 权限名='Y' where user='root';

我直接把所有的权限都改成Y

再刷新

flush privileges;

重新登录mysql,等了一会,发现没有报错了

记得最后把远程访问关了,比较安全

update user set host = 'localhost' where user = 'root';

这时退出mysql,再连接发现连接mysql失败,说明把远程访问关了

只能在ssh界面登录

猜你喜欢

转载自blog.csdn.net/qq_59384418/article/details/127716233
今日推荐