MySQL5.7忘记root密码-最简单的修改密码方法

本文介绍如何在MySQL5.7中重置root用户的密码。首先需要停止MySQL服务,然后通过命令让MySQL跳过密码验证启动。接着在另一个命令窗口中登录数据库并更新root用户的密码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我的上一篇博客 MySQL5.7忘记root密码-手动修改密码教程 ,讲的还算详细,对于Windows10 DOS命令下的修改MySQL数据库密码可能出现的一些问题都做了讲解。相比上一篇,这一片会简单化描述。

1.停止MySQL服务

去任务管理器中右键选中MySQL57(有些版本的服务名字可能是MySQL)服务,并停止该服务。

2.使用命令设置跳过密码验证

如果MySQL安装路径已经添加到系统环境变量中,直接打开一个DOS窗口,执行一下命令:

mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" --skip-grant-tables

注意:MySQL57的配置文件my.ini并不在默认安装路径C:\Program Files\MySQL\MySQL Server 5.7下。

执行该命令后,窗口会一直处于这个状态,下面不会有输出字符的。

3.再打开一个新DOS窗口,执行命令直接进入数据库

在新的DOS窗口中执行命令:mysql -u root

在这里直接回车,登录成功。

4.修改密码

在上述窗口中直接执行命令:

update mysql.user set authentication_string = password('123456') where user='root';

在显示更改成功后,执行刷新权限:flush privileges

5.重启服务使用新密码登录

先重启MySQL57服务。这里如果任务管理器重启服务失败,可以直接重启电脑,一般会成功。

再打开DOS窗口,执行命令:

mysql -u root -p

并使用新密码,可以成功进入数据库。

### MySQL 5.7密码策略配置方法MySQL 5.7 中,默认启用了 `validate_password` 插件,用于强制执行密码复杂度策略。为了实现弱密码策略,可以通过调整该插件的相关参数或将插件卸载。 #### 方法一:通过修改验证策略级别降低密码复杂度 MySQL 的 `validate_password` 插件提供了三种不同的密码策略级别: - **0 (LOW)**: 只需满足最小长度要求。 - **1 (MEDIUM)**: 需要至少一个大写字母、一个小写字母、一个数字和一个特殊字符,并满足最小长度要求。 - **2 (STRONG)**: 基于字典文件进一步增强密码安全性[^4]。 可以将策略级别设置为 `0` 来启用最低级别的密码复杂度要求。具体操作如下: 1. 登录MySQL 数据库: ```bash mysql -u root -p ``` 2. 修改 `validate_password_policy` 参数值为 `0`: ```sql SET GLOBAL validate_password.policy=0; ``` 3. (可选)根据需求调整其他相关参数,例如密码最小长度: ```sql SET GLOBAL validate_password.length=4; -- 设置最短密码长度为4 ``` 完成上述步骤后,即可允许更简单的密码被接受。 --- #### 方法二:完全禁用 `validate_password` 插件 如果不需要任何密码复杂度限制,则可以选择卸载 `validate_password` 插件。 1. 登录MySQL 数据库: ```bash mysql -u root -p ``` 2. 卸载插件: ```sql UNINSTALL PLUGIN validate_password; ``` 注意,在某些情况下可能需要先重新加载插件才能正常卸载它。如果遇到错误提示未找到插件,可能是尚未安装此插件,此时无需额外处理[^5]。 --- #### 方法三:永久保存配置变更 无论是选择降低密码策略还是彻底移除插件,都需要确保这些动能够持久化至服务器重启后仍然有效。为此应编辑 MySQL 的配置文件(通常是 `/etc/my.cnf` 或 `/etc/mysql/my.cnf`),并加入以下内容: ```ini [mysqld] validate_password=off ``` 或者指定具体的参数选项以覆盖默认行为: ```ini [mysqld] validate_password_policy=0 validate_password_length=4 ``` 最后记得重启 MySQL 服务使新设定生效: ```bash sudo systemctl restart mysqld ``` --- ### 注意事项 尽管允许较弱的密码方便管理,但从安全角度出发并不推荐这样做。建议始终遵循最佳实践维护数据库账户的安全性[^2]。
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值