MySQL8忘记密码&重置密码

步骤1:关闭MySQL服务;

步骤2:进入MySQL安装目录下的bin目录,以管理员模式打开cmd窗口。执行命令:

mysqld --console --skip-grant-tables --shared-memory

步骤3:不要关闭步骤2打开的窗口,打开一个新的cmd窗口,执行命令:

// 免密打开MySQL
mysql

// 切换至mysql数据库
use mysql;

// 置空user表的密码
UPDATE user SET authentication_string='' WHERE user='root';

// 关闭MySQL
exit

步骤4:关闭步骤2打开的窗口;

步骤5:开启MySQL服务;

步骤6:无密码登录MySQL,执行命令:

// 无密码登录MySQL
mysql -u root

// 重置密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

// 刷新MySQL权限表
FLUSH PRIVILEGES;

// 关闭MySQL
exit

步骤7:重启MySQL服务

完成!

### MySQL 8 忘记密码后的 Root 密码重置解决方案 当忘记MySQL 8 的 `root` 用户密码时,可以通过以下方法安全有效地恢复访问权限。以下是针对 MySQL 8 版本的具体操作说明: #### 停止当前运行的 MySQL 服务 首先需要停止正在运行的 MySQL 服务。这一步是为了确保可以进入单用户模式来更改配置文件中的验证方式。 ```bash sudo systemctl stop mysql ``` #### 修改 MySQL 配置以禁用密码验证 编辑 MySQL 的配置文件 `/etc/my.cnf` 或者 `/etc/mysql/my.cnf` 并添加如下内容至 `[mysqld]` 节下: ```ini skip-grant-tables ``` 此选项允许绕过正常的授权表检查[^1]。 #### 启动 MySQL 服务而不加载授权表 保存并关闭配置文件后,启动 MySQL 服务以便应用新的设置。 ```bash sudo systemctl start mysql ``` 此时,MySQL 将不会强制执行任何认证过程,因此可以直接连接到服务器而无需提供密码。 #### 登录到 MySQL 数据库 由于启用了 `skip-grant-tables` 参数,在不输入密码的情况下就可以通过命令行工具登录作为管理员角色。 ```bash mysql -u root ``` 一旦成功进入了 MySQL 控制台,则可以根据版本差异采取不同的措施更新根账户凭证。 对于 **MySQL 8.0** 及以上版本,应使用 `ALTER USER` 来改变密码而不是直接修改底层数据结构因为旧函数已被弃用或替换掉了。具体做法如下所示: ```sql ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; FLUSH PRIVILEGES; ``` 这里需要注意的是如果希望完全清除掉现有保护机制使得之后没有任何形式的身份确认要求的话也可以按照另一种方式进行调整即把字段值设为空字符串即可实现无密登陆效果但这种做法并不推荐因为它会降低系统的安全性除非是在测试环境中才考虑这样做[^2]。 而对于较早些时候发布的像 **MySQL 5.x** 系列产品而言它们仍然支持传统的哈希算法所以可以用下面这条语句完成同样的任务不过现在已经很少见到这样的实例存在了[^3]: ```sql SET PASSWORD FOR 'root'@'localhost' = PASSWORD('your_new_password'); ``` 最后记得移除之前临时加入用来跳过的那部分参数然后再重启一次整个数据库引擎从而让一切恢复正常运作状态。 ```bash # 移除 skip-grant-tables 行 sudo nano /etc/mysql/my.cnf # 删除或者注释该行 # skip-grant-tables # 保存退出后再次开启服务 sudo systemctl restart mysql ``` 至此便完成了对丢失遗忘情况下的处理流程描述以及实际步骤演示。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值