目录
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界面登录