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

具体操作步骤如下:
-
停止MySQL服务
使用以下命令停止MySQL服务(根据您的系统选择):- 对于使用systemd的系统(如Ubuntu 16.04+、CentOS 7+):
sudo systemctl stop mysql
- 对于使用SysVinit的系统(如旧版Ubuntu或CentOS 6):
sudo service mysql stop
- 对于使用systemd的系统(如Ubuntu 16.04+、CentOS 7+):
-
以安全模式启动MySQL并跳过权限检查
运行以下命令启动MySQL,同时跳过权限验证:sudo mysqld_safe --skip-grant-tables &
注意:此操作会暂时关闭密码验证,请确保在无网络或安全环境下执行,完成后及时恢复。
-
登录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字段。 -
重启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





