-->
当前位置:首页 > 运维 > 正文内容

mysql root密码找回(没有mysqld_safe的情况)

Luz4个月前 (03-22)运维1670

如果MySQL安装中没有mysqld_safe命令,使用修改my.cnf的方式跳过登录重置密码:

对于没有mysqld_safe的情况

  1. 停止MySQL服务
  • 在Linux上,使用systemctlservice命令:

    sudo systemctl stop mysql

    或者

    sudo service mysql stop
  • 在Windows上,使用服务管理器或命令行:

    net stop mysql
  1. 配置MySQL以跳过权限表
  • Linux:

    编辑MySQL的配置文件(通常是/etc/my.cnf/etc/mysql/my.cnf,具体取决于安装位置),在[mysqld]部分添加一行:

    skip-grant-tables
  • Windows:

    在Windows上,可以在启动MySQL服务时通过命令行添加--skip-grant-tables选项。找到mysqld的可执行文件路径。然后,在命令行中启动mysqld:

    "C:\Program Files\MySQL\MySQL Server X.Y\bin\mysqld" --skip-grant-tables
  1. 重启MySQL服务
  • Linux:

    sudo systemctl start mysql

    或者

    sudo service mysql start
  • Windows:

    启动后直接就可以执行命令

  1. 重置密码

    登录mysql:

    mysql -u root

    重置密码(MySQL 5.7及更高版本):

    FLUSH PRIVILEGES;
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';

    替换NewPassword为新密码。

  2. 撤销跳过权限表的配置并重启MySQL

    • Linux:

      编辑MySQL的配置文件,移除或注释掉skip-grant-tables选项,然后重启MySQL:

      sudo systemctl restart mysql
    • Windows:

      直接关闭命令行

  3. 使用新密码登录

    使用新密码登录MySQL:

    mysql -u root -p新密码

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。