MySQL 8 忘记密码怎么办

本文介绍在MySQL8.0中如何重置root用户的密码,包括在skip-grant-tables模式下启动MySQL,更新users表以置空密码,以及在正常模式下修改密码的方法。

mysql5.7.6版本后,废弃user表中password()方法,

所以旧方法重置密码对mysql8.0版本是行不通的!

mysql8可以采用此方法修改root密码:

skip-grant-tables模式启动

skip-grant-tables表示,在启动mysql时不启动授权表功能,可以直接免密码登录

#修改/etc/my.cnf文件

vim /etc/my.cnf


#在[mysqld]区域添加配置,并保存my.cnf文件

skip-grant-tables


#重启mysql

systemctl restart mysqld


#登录mysql

mysql -u root -p


#如果出现输入密码,直接回车,就可以进入数据库了

 


    #在skip-grant-tables模式下,将root密码置空

    update user set authentication_string = '' where user = 'root';


    #退出,将/etc/my.cnf文件下的skip-grant-tables去掉,重启服务器

    #登录mysql

    mysql -u root -p


    #因为密码置空,直接回车,进入数据库之后,修改密码

    ALTER USER 'root'@'localhost' IDENTIFIED BY 'bobo@123password';


    #因为mysql8,使用强校验,所以,如果密码过于简单,会报错,密码尽量搞复杂些!

 

### 忘记 MySQL root 密码的解决方案 当用户忘记 MySQL 的 root 密码时,可以通过以下方法重置密码。以下是详细的步骤说明: #### 1. 停止 MySQL 服务 首先需要停止正在运行的 MySQL 服务,使用以下命令: ```bash sudo service mysql stop ``` #### 2. 跳过权限验证启动 MySQL 以跳过权限验证的方式启动 MySQL 服务器,这样可以无需密码直接登录并重置密码。使用以下命令: ```bash sudo mysqld_safe --skip-grant-tables & ``` #### 3. 登录 MySQL 并重置密码 连接到 MySQL 服务器,无需输入密码: ```bash mysql -u root ``` 在 MySQL 命令行中执行以下 SQL 语句来修改 root 用户的密码,并刷新权限: ```sql FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; ``` 将 `new_password` 替换为希望设置的新密码[^4]。 #### 4. 退出并重启 MySQL 服务 完成密码修改后,退出 MySQL: ```sql QUIT; ``` 最后,重新启动 MySQL 服务以应用更改: ```bash sudo service mysql start ``` #### 5. 使用新密码登录 尝试使用新设置的密码登录 MySQL,验证密码是否成功更新: ```bash mysql -u root -p ``` --- ### 使用初始化文件重置密码(可选方法) 另一种方法是通过创建一个包含密码重置 SQL 的初始化文件,并以参数方式启动 MySQL 服务。具体步骤如下: #### 1. 创建初始化文件 创建一个文件 `/root/reset_password.sql`,内容如下: ```sql ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; FLUSH PRIVILEGES; ``` 将 `new_password` 替换为希望设置的新密码。 #### 2. 使用初始化文件启动 MySQL 使用以下命令启动 MySQL 服务,指定初始化文件路径: ```bash mysqld_safe --init-file=/root/reset_password.sql & ``` #### 3. 登录 MySQL 并清理初始化文件 启动完成后,可以使用新密码登录 MySQL。为了安全起见,删除初始化文件: ```bash rm /root/reset_password.sql ``` --- ### 注意事项 - 在执行上述操作之前,请确保备份重要数据,以免意外丢失。 - 如果系统中存在其他用户或权限配置,请谨慎操作,避免影响正常业务运行[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天马行空波

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值