Linux下MySQL忘记密码的解决方法

当您在Linux系统中忘记MySQL密码时,无需惊慌,可以通过以下步骤重置密码。停止MySQL服务,然后以跳过权限检查的方式启动MySQL,接着更新密码,最后恢复服务并验证新密码即可。

linux mysql忘记密码怎么办,Linux MySQL密码遗忘紧急处理指南

具体操作步骤如下:

  1. 停止MySQL服务
    使用以下命令停止MySQL服务(根据您的系统选择):

    • 对于使用systemd的系统(如Ubuntu 16.04+、CentOS 7+):
      sudo systemctl stop mysql
    • 对于使用SysVinit的系统(如旧版Ubuntu或CentOS 6):
      sudo service mysql stop
  2. 以安全模式启动MySQL并跳过权限检查
    运行以下命令启动MySQL,同时跳过权限验证:

    sudo mysqld_safe --skip-grant-tables &

    注意:此操作会暂时关闭密码验证,请确保在无网络或安全环境下执行,完成后及时恢复。

  3. 登录MySQL并更新密码
    打开新终端,使用root用户无密码登录MySQL:

    mysql -u root

    在MySQL提示符下,选择mysql数据库并更新密码(以MySQL 5.7及以上版本为例,使用authentication_string字段):

    USE mysql;
    UPDATE user SET authentication_string=PASSWORD('您的新密码') WHERE User='root';
    FLUSH PRIVILEGES;
    EXIT;

    如果使用MySQL 5.6或更早版本,可将authentication_string替换为password字段。

  4. 重启MySQL服务并验证新密码
    停止安全模式下的MySQL进程,然后正常启动服务:

    sudo systemctl restart mysql   # 或 sudo service mysql restart

    使用新密码登录验证:

    mysql -u root -p

注意事项

  • 如果上述方法无效,可尝试在安全启动时直接重置密码,或检查MySQL配置文件(如/etc/mysql/my.cnf)中是否启用了skip-grant-tables选项。
  • 为防再次遗忘,建议将密码保存在安全位置,并定期更换。

通过以上步骤,您即可快速恢复对MySQL的访问权限,确保数据库操作正常进行。

未经允许不得转载! 作者:HTML前端知识网,转载或复制请以超链接形式并注明出处HTML前端知识网

原文地址:https://www.html4.cn/6062.html发布于:2026-07-21