mysql root丢失权限而用户不能访问本地数据库

继mysql数据库不能访问之后,通过前面的方法解决问题,但是却出现了两个不相关的数据库在phpmyadmin里面,而mysql等数据库却没有出现,也没有创建新数据库等权限,什么权限都没有啦。
多方查找资料,发现通过mysqld_safe --skip-grant-tables --skip-networking &命令,可以跳过权限扫描,对所有数据库都可以操作,于是这样登陆,然后进入mysql数据库,并对user表进行操作,将值为%的的记录中的Host的值,改为localhost。问题解决。
步骤为:
mysqld_safe --skip-grant-tables --skip-networking &
mysql -uroot -p
进入数据库操作界面,
use mysql;
show tables;
select Host from user where User='root';
Update user set Host='localhost' where Host='%';
flush privileges;
service mysqld restart
-----------------------------
注:如果不是修改,是添加呢?能不能实现呢?待思考,在--skip-grant-tables下,grant语句无法执行
------------虽然做了这两次修改,使得root用户可以操作本地数据库了,但是其他用户却还是不能,表现为extmail和extman无法登陆,搜集资料,没有相似案例,无法解决问题,不得不使用skip-grant-tables选项,所以问题肯定也出在这里,望各位高手指教。-----忘了当时是啥情况了,现在想来,应该是没有赋予该用户操作相应数据库的权限。。。
上一篇:php代码审计分段学习(php_bug)[3]


下一篇:阿里云RDS for SQL Server使用的一些最佳实践