Mysql重置root密码

柳三千

文章最后更新时间:2025年06月11日

MySQL忘记root密码解决方案

1、修改配置文件跳过密码验证

编辑my.cnf配置文件,添加skip-grant-tables参数:

2、重启MySQL服务

[root@localhost ~]# systemctl restart mysqld  # 或使用 service mysqld restart

重启后可直接登录,无需密码:

3、修改root密码

错误示例

mysql> 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> flush privileges;  # 刷新权限表
Query OK, 0 rows affected (0.00 sec)

mysql> alter user 'root'@'localhost' identified by '888888';  # 设置新密码
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;  # 再次刷新确保生效
Query OK, 0 rows affected (0.00 sec)

4、恢复配置文件

移除或注释掉skip-grant-tables参数:

5、重启服务并验证

[root@localhost ~]# systemctl restart mysqld
Shutting down MySQL.. SUCCESS! 
Starting MySQL. SUCCESS!

使用新密码登录:

拓展:已知密码时修改密码

使用mysqladmin工具(适用于MySQL 5.7及以下版本):

mysqladmin -u'用户名' -p'旧密码' password '新密码'

示例

mysqladmin -uroot -p123456 password '888888'

MySQL 8.0+ 建议使用

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
文章版权声明:除非注明,否则均为柳三千运维录原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码