MySQL root 密码忘了怎么办?超详细重置步骤教程

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 账户的密码,恢复数据库的正常登录。

相关推荐

国家公务员收入大揭秘!年收入究竟有多少?
mobile28365正规网址

国家公务员收入大揭秘!年收入究竟有多少?

📅 08-24 👁️ 2916
一文读懂Java Web是什么?
约彩365官方网站下载

一文读懂Java Web是什么?

📅 07-19 👁️ 1682
COV出品 复仇者2代 WIND RUNNER 风行者雾化器评测
mobile28365正规网址

COV出品 复仇者2代 WIND RUNNER 风行者雾化器评测

📅 07-05 👁️ 4231