Mysql用户忘记密码以及密码过期问题

本文介绍了MySQL数据库中忘记密码及密码过期后的处理方法,包括更改配置文件、重启服务、使用特定SQL语句更新密码等步骤。


忘记密码:


步骤一:现在找到Mysql的安装目录,改掉安装目录的my-default.ini名称为my.ini(D:\Mysql\mysql-5.7.13-winx64);

步骤二:在my.ini文件最后一行加上skip-grant-tables  并保存(这是去掉安全检查);

步骤三:在服务中 重启MySQL服务;

步骤四:cmd 命令进入Mysql安装bin目录下输入mysql -uroot -p,按回车;(这里是以账号root为例子)

步骤五:会出现‘Enter password’,再按下回车,此时进入mysql>;

步骤六:输入命令 ‘use mysql’回车,再输入修改密码sql语句:update user set password=password("new_pass") where user="root";

然后将my.ini文件中的skip-grant-tables去掉,然后重启mysql,就OK了。


注意:如果是MySQL5.7.13版本,会报 ERROR 1054 (42S22): Unknown column ‘password’ in ‘field list’这样的error;

这样我们将sql语句改为:update user set authentication_string=password(‘root’) where user=’root’;


密码过期:

步骤一:通过"Mysql忘记密码方法" 先进入mysql;
步骤二:将mysql数据库下的user表的password_expired值改为N;


MySQL 8 中,如果 root 密码过期,可以通过以下方式重置密码MySQL 引入了更严格的密码管理策略,因此需要使用 `ALTER USER` 语句来更新密码[^3]。 ### 使用 `ALTER USER` 语句修改密码 如果能够正常登录到 MySQL 数据库,但提示密码过期,则可以在 MySQL 提示符下直接执行以下命令: ```sql ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; ``` 此命令将 root 用户密码更改为 `new_password`,并适用于本地连接的 root 用户。 ### 忘记密码时的重置方法 如果忘记 root 密码,需以跳过权限检查的方式启动 MySQL 服务,然后进行密码重置: 1. **停止 MySQL 服务** 在 Linux 系统中,可以使用以下命令停止 MySQL 服务: ```bash sudo systemctl stop mysqld ``` 在 Windows 系统中,可以通过服务管理器或使用命令行停止 MySQL 服务: ```cmd net stop MySQL ``` 2. **以跳过权限检查的方式启动 MySQL** 在 Linux 上,使用以下命令启动 MySQL 并跳过权限检查: ```bash sudo mysqld_safe --skip-grant-tables & ``` 在 Windows 上,可以通过命令行启动 MySQL 服务并跳过权限检查: ```cmd mysqld --skip-grant-tables ``` 3. **连接到 MySQL 并重置 root 密码** 启动后,无需密码即可连接到 MySQL: ```bash mysql -u root ``` 然后执行以下 SQL 命令来重置 root 密码: ```sql UPDATE mysql.user SET authentication_string = PASSWORD('new_password') WHERE User = 'root' AND Host = 'localhost'; FLUSH PRIVILEGES; ``` 注意:从 MySQL 8 开始,`PASSWORD()` 函数已被弃用,推荐使用 `ALTER USER` 语句替代。但在某些情况下仍可使用该函数[^1]。 4. **重启 MySQL 服务** 完成密码重置后,退出 MySQL 并重新启动 MySQL 服务以恢复正常运行: ```bash sudo systemctl start mysqld ``` 或者在 Windows 上: ```cmd net start MySQL ``` ### 设置较低的密码安全等级(可选) 如果希望设置较简单的密码,可以临时降低 MySQL密码安全策略: ```sql SET GLOBAL validate_password.policy = STRONG; -- 可选择 LOW、MEDIUM 或 STRONG ``` 此命令将全局密码策略设置为 `STRONG`,可以根据需要调整为其他级别。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值