MySQL忘记root密码解决方案

2020-08-08 11:10 By "Powerless" 2780 0 1

    在忘记 MySQL 密码的情况下,可以通过 --skip-grant-tables 关闭服务器的认证,然后重置 root 的密码,具体操作步骤如下。


【一】

    关闭正在运行的 MySQL 服务。打开 cmd 进入 MySQL 的 bin 目录。


【二】

    输入命令。–skip-grant-tables 会让 MySQL 服务器跳过验证步骤,允许所有用户以匿名的方式,无需做密码验证就可以直接登录 MySQL 服务器,并且拥有所有的操作权限。

mysqld --console --skip-grant-tables --shared-memory


【三】

    上一个 DOS 窗口不要关闭,打开一个新的 DOS 窗口,此时仅输入 mysql 命令,不需要用户名和密码,即可连接到 MySQL。


【四】

    输入命令。设置新密码。

update mysql.user set authentication_string=password('root') where user='root' and Host ='localhost';

    注意:MySQL 5.7 版本中的 user 表里已经去掉了 password 字段,改为了 authentication_string。


【五】

    刷新权限(必须步骤),输入命令。

flush privileges;


【六】

    因为之前使用 --skip-grant-tables 启动,所以需要重启 MySQL 服务器去掉 --skip-grant-tables。输入无误后输入quit;命令退出 MySQL 服务。


【七】

    重启 MySQL 服务,使用用户名 root 和刚才设置的新密码 root 登录就可以了。

评 论

View in WeChat

Others Discussion

  • 分布式架构之「 数据分布」
    Posted on 2019-11-14 10:00
  • PHP扩展ImageMagick安装
    Posted on 2022-11-11 11:16
  • PHP7不兼容性
    Posted on 2018-03-07 15:59
  • Redis各种数据类型的使用场景举例分析【三】
    Posted on 2018-11-22 17:00
  • 投票通过,PHP 8 确认引入 Union Types 2.0
    Posted on 2019-11-18 22:22
  • PHP设计模式 - 委托模式
    Posted on 2019-04-25 16:15
  • BASE原则
    Posted on 2020-12-17 16:42
  • 程序员年中考试题-段子版
    Posted on 2021-06-23 15:57