[mysql] Access denied for user ‘root’@’localhost’ (using password: YES) 的问题解决:恢复root权限

故障现象:ROOT账户可以连接数据库,但在操作时候或再次登陆出现如下提示:
Access denied for user 'root'@'localhost' (using password: YES)
这时候,确定密码是正确的,但是root账户无法正常操作数据库。
一般情况是修改mysql密码的时候手抖,导致root权限丢失造成的。解决方案如下:
第一步
关闭mysql服务。
在mysql安装目录中,用记事本打开my.ini 在最后一行加入如下代码:
skip-grant-tables
保存,启动mysql
第二步
这时候,mysql登陆是跳开验证的。
在命令行中,输入
mysql -u root -p
【输入当前密码】
use mysql 
update user set Update_priv='Y' where user='root'; (这时候我们需要给root以更新的权限)
update user set Grant_priv ='Y' where user ='root'; (然后是设置权限的权限)
flush privileges;   //刷新权限
grant all privileges on *.* to root@'localhost' identified by "123" with grant option;  (给它最高权限)//123是密码
flush privileges;
这时候给了root之前的权限了
第三步
输入 exit 退出mysql
关闭mysql服务
再次打开my.ini,改回原来的状态。
保存,打开mysql服务。
在命令行输入mysql -u root -p;
这时就可以正常使用了。

转载于:https://blog.csdn.net/qq_36791314/article/details/63308172

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

使用新浪微博登陆