MySQL root密码忘了的超详细重置步骤教程
问题描述
在使用 MySQL 数据库时,若不慎忘记 root 账户的登录密码,会导致无法正常登录数据库,影响后续操作。本文将详细介绍如何通过修改配置、重置密码等步骤,解决 MySQL root 密码遗忘的问题。

问题解决
- 修改配置文件,添加跳过权限验证的参数
首先需要修改 MySQL 的配置文件,临时跳过权限验证,以便无密码登录数据库。
- 使用 vim 编辑器打开 MySQL 配置文件:
vim /data/mysql/conf/my.cnf
- 在配置文件的
[mysqld]模块下添加以下参数(用于跳过权限验证):
skip-grant-tables

- 重启 MySQL 服务,使配置生效
添加参数后,需重启 MySQL 服务,让新配置生效:
/etc/init.d/mysql.server restart
- 以免密码方式登录 MySQL
配置生效后,可直接无密码登录 root 账户:
mysql -uroot -p
执行上述命令后,系统会提示输入密码,此时直接按回车(无需输入密码)即可登录。
- 清空 root 账户原密码(解决直接改密报错问题)
登录后若直接使用ALTER USER命令修改密码,会因权限验证被跳过而报错。因此需先通过修改用户表,将 root 密码设为空:
update mysql.user set authentication_string = '' where user = 'root' and host='localhost';
- 移除跳过权限验证的参数,重启服务
完成密码清空后,需恢复 MySQL 的权限验证机制:
- 重新打开配置文件,删除之前添加的
skip-grant-tables参数:
vim /data/mysql/conf/my.cnf
(在 vim 编辑模式下,定位到该参数行,按dd删除)
- 再次重启 MySQL 服务,使配置恢复:
/etc/init.d/mysql.server restart
- 使用空密码登录,重新设置 root 密码
此时 MySQL 已恢复权限验证,可使用空密码登录 root 账户:
mysql -uroot -p
(输入密码时直接按回车,因步骤 4 已将密码设为空)
登录后,通过ALTER USER命令设置新密码(以dup81Gcda2为例):
alter user user() identified by 'dup81Gcda2';
- 验证新密码是否生效
使用新密码重新登录 MySQL,确认密码修改成功:
mysql -uroot -p

输入刚设置的新密码dup81Gcda2,若能正常登录,则说明问题已解决。
通过以上步骤,即可成功重置 MySQL root 账户的密码,恢复数据库的正常登录。
总结
到此这篇关于MySQL root密码忘了重置步骤的文章就介绍到这了,更多相关MySQL root密码忘了内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
RedHat6.5/CentOS6.5安装Mysql5.7.20的教程详解
这篇文章主要介绍了RedHat6.5/CentOS6.5安装Mysql5.7.20的教程详解,非常不错,具有参考借鉴价值,需要的朋友可以参考下2017-11-11
MySQL添加外键时报错:1215 Cannot add the foreign key constraint的解决方法
大家都知道MySQL中经常会需要创建父子表之间的约束,这个约束是需要建立在主外键基础之上的,最近在MySQL添加外键时发现了一个报错:1215 Cannot add the foreign key constraint,所以这篇文章就给大家介绍了如何解决在创建主外键约束过程中碰到的这个问题。2016-11-11


最新评论