Mysql 执行命令权限不足
执行了一条revoke
mysql> revoke all on *.* from root@localhost;
结果导致权限全无,不管输入啥都发现
ERROR 1142 (42000): SELECT command denied to user 'root'@'localhost' for table 'user'
解决方案:
- 先退出mysql,找到mysql的配置文件 ./etc/my.cnf
添加配置到文件:
skip-grant-tables #跳过密码
- 退出重新启动mysql
systemctl restart mysqld.service
- 进入mysql,切换到mysql数据库,查看表权限
select * from user\G; //查看所有用户信息
- 改权限
update mysql.user set select_priv='Y' where user='root';
这条命令需要将skip-grant-tables先注释重启mysql后才可执行
show grants;