mysql8.0root密码忘记解决

一、关闭mysql服务

不管使用/etc/init.d/mysqld stop ,还是ps -ef|grep mysqld配合kill命令,要保证mysql服务彻底关闭。

二、启动mysql服务

   使用如下命令启动mysql服务

    mysqld  --user=root  --skip-grant-tables

输入完该命令以后回车,就会一直卡着不动,即使把当前窗口关闭,从其他命令行窗口用ps -ef|grep mysqld查看,该进程依然在,正常。

三、修改mysql的root用户密码

1>登录mysql数据库

使用命令mysql  -uroot  -p  登录数据库,这个时候,不需要使用密码,直接登录。

2>登录以后查看mysql.user表

3>删除root用户

delete  from  mysql.user  where user=’root’;

flush privileges;

commit;

4>新建root用户

create  user  root;

5>给root用户设置密码

alter  user  ‘root’@’%’  identified by  ‘新密码’;

6>给root用户赋权

grant  all  on  *.*  to  ‘root’@’%’;

7>更新root用户的给其他用户赋权的权限

这时候,要是给其他用户进行赋权操作,会报错,显示root用户没有授权权限,

select * from  mysql.user  where  user = ‘root’\G;

你会发现Grant_priv字段的值为N,接下来要把这个字段的值更新为Y

update  mysql.user  set Grant_priv=’Y’ where user=’root’;

猜你喜欢

转载自blog.csdn.net/the_shy369/article/details/127078008