MySQL 8.0 忘记密码/修改root密码

 

1、以管理员身份打开cmd窗口,定位到MySQL安装目录下的bin目录,输入net stop mysql 回车,关闭MySQL数据库。MySQL 8.0 忘记密码/修改root密码_第1张图片

2、输入mysqld --console --skip-grant-tables --shared-memory(mysqld –skip-grant-tables在MySQL8.0中已失效)回车。

   (--skip-grant-tables 的意思是启动 MySQL 服务的时候跳过权限表认证)

MySQL 8.0 忘记密码/修改root密码_第2张图片

3、重新打开一个命令行窗口,定位到MySQL安装目录下的bin目录,输入mysql回车。

MySQL 8.0 忘记密码/修改root密码_第3张图片

4、输入use mysql 回车。

MySQL 8.0 忘记密码/修改root密码_第4张图片

5、输入以下命令,将authentication_string字段置为空(注:在MySQL8.0以上版本,无法使用 update user set password=password('newpassword') where user='root';)。

update user set authentication_string='' where user='root';

MySQL 8.0 忘记密码/修改root密码_第5张图片

6、输入以下命令修改密码

alter user 'root'@'localhost' identified by '123456';

我这里报错了:ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement。

MySQL 8.0 忘记密码/修改root密码_第6张图片

解决方法,先输入 flush privileges; 命令,刷新一下权限表。

MySQL 8.0 忘记密码/修改root密码_第7张图片

再重新输入修改密码的命令,成功了。

MySQL 8.0 忘记密码/修改root密码_第8张图片

7、再刷新一下权限表:

MySQL 8.0 忘记密码/修改root密码_第9张图片

8、输入 net start mysql 重新启动MySQL,输入mysql -u root -p 输入新密码登录MySQL,成功。

MySQL 8.0 忘记密码/修改root密码_第10张图片

 

你可能感兴趣的:(MySQL,mysql)