MySQL8.0 忘记密码解决方案

一、问题背景

MySQL是目前应用最广泛的关系型数据库之一,但在使用的过程中,可能不可避免的会出现忘记MySQL账号密码的情况。这时候怎么办呢?本篇文章将从多方面为大家介绍MySQL8.0忘记密码的解决方案。

二、方案1:更新root密码

如果您忘记了root密码,可以通过以下方法来更新root密码:


1. 停止MySQL服务,使用管理员权限打开cmd,输入如下命令:
    net stop mysql80

2. 修改MySQL配置文件my.ini,在[mysqld]下加入skip-grant-tables,表示跳过权限验证:
    [mysqld]
    ……
    skip-grant-tables

3. 重启MySQL服务,打开cmd,输入如下命令:
    net start mysql80

4. 使用root账号登录MySQL,无需密码:
    mysql -uroot

5. 更新root密码:
    mysql> UPDATE user SET authentication_string=password('新密码') WHERE user='root';
    mysql> FLUSH PRIVILEGES;

6. 删除my.ini中的skip-grant-tables,重启MySQL服务,再次登录root用户,使用新密码即可:
    mysqladmin -uroot -p shutdown
    net start mysql80
    mysql -uroot -p

三、方案2:使用mysqladmin命令重置密码

MySQL自带了mysqladmin命令,我们可以借助该命令来重置MySQL账户密码:


1. 停止MySQL服务,使用管理员权限打开cmd,输入如下命令:
    net stop mysql80

2. 修改MySQL配置文件my.ini,在[mysqld]下加入skip-grant-tables,表示跳过权限验证:
    [mysqld]
    ……
    skip-grant-tables

3. 重启MySQL服务,打开cmd,输入如下命令:
    net start mysql80

4. 使用mysqladmin命令来重置MySQL账户root的密码:
    mysqladmin -u root password 新密码

5. 删除my.ini中的skip-grant-tables,重启MySQL服务,使用新密码即可:
    mysqladmin -uroot -p shutdown
    net start mysql80
    mysql -uroot -p

四、方案3:修改MySQL数据表中密码

如果您不知道root账户密码,也可以直接修改MySQL数据表中的密码,来达到重置密码的目的:


1. 停止MySQL服务,使用管理员权限打开cmd,输入如下命令:
    net stop mysql80

2. 修改MySQL配置文件my.ini,在[mysqld]下加入skip-grant-tables,表示跳过权限验证:
    [mysqld]
    ……
    skip-grant-tables

3. 重启MySQL服务,打开cmd,输入如下命令:
    net start mysql80

4. 登录MySQL,不需要密码了:
    mysql -uroot

5. 修改root账户的密码,例如修改为“123456”:
    mysql> use mysql;
    mysql> update user set authentication_string=password('123456') where user='root';

6. 刷新权限:
    mysql> flush privileges;

7. 删除my.ini中的skip-grant-tables,重启MySQL服务,使用新密码即可:
    mysqladmin -uroot -p shutdown
    net start mysql80
    mysql -uroot -p

五、方案4:通过重置system表空间密码进行重置

如果您不是系统管理员,也可以使用以下手段来重置密码:


1. 使用管理员权限登录MySQL,执行以下SQL语句:
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

2. 刷新权限:
    FLUSH PRIVILEGES;

3. 重置system表空间密码:
    SET PASSWORD FOR 'root'@'localhost' = '123456';

4. 退出MySQL,使用新密码登录即可:
    exit
    mysql -uroot -p

六、小结

本篇文章总结了多种方案用于解决MySQL8.0忘记密码的问题。根据个人情况选择相应的方案即可。如果以上方案都无法解决问题,建议您搜索相关技术社区解决方案,或者咨询专业人士。

原创文章,作者:XLSPH,如若转载,请注明出处:https://www.506064.com/n/368447.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
XLSPHXLSPH
上一篇 2025-04-12 01:13
下一篇 2025-04-12 01:13

相关推荐

发表回复

登录后才能评论