MySQL登录密码忘记解决办法

在这里插入图片描述

文章中所有操作均是在 MySQL 5.7 版本下进行的

如果长期没有使用某个服务器上的 MySQL 数据库,或者是某种原因情况下,可能会出现忘记了 MySQL 数据库的登录密码(这里指的是 root 用户)。遇到这些情况将如何处理和解决。

Windows下MySQL密码忘记解决

第一步

找到 MySQL 安装目录下的 my.ini 文件,用文本编辑器打开之后,在最后添加“skip-grant-tables”,保存文件。

第二步

进入 MySQL 安装目录下的 bin 目录,右键打开 cmd 命令窗口。如果右键没有,请按住 Shift + 右键点击打开,或者直接 Win + r 打开 cmd 命令窗口 cd 进入 bin 目录。

  1. 启动服务。
  2. 输入登录命令:mysql -u root -p 提示输入密码直接回车进入,或者直接输入 mysql 回车进入。
  3. 执行修改密码(如下)。

修改密码方式:

use mysql;
update user set authentication_string = password("新密码") where user = "root";
flush privileges;

或者直接:

update mysql.user set authentication_string = password("新密码") where user = "root";
flush privileges;

有的人可能使用 update user set password = password(“新密码”) where user = “root”; 。这样会报错,是因为 MySQL5.7 数据库中已没有 password 这个字段了,password 字段改成了 authentication_string。

还有一种方式就是:

alter user 'root'@'localhost' identified with mysql_native_password by '新密码';
flush privileges;

或者是:

alter user 'root'@'%' identified with mysql_native_password by '新密码';
flush privileges;

以上这种情况是因为需要确定 root 是否和 localhost 有对应。有的可能只有 localhost,有的可能只有 %,当然有的可能都有。可以利用命令查询:

select user, host from mysql.user;

或者是:

use mysql;
select user, host from user;

查询结果:

+---------------+-----------+
| user          | host      |
+---------------+-----------+
| root          | localhos  |
| root          | %         |
| mysql.session | localhost |
| mysql.sys     | localhost |
+---------------+-----------+

可能在设置允许 MySQL 远程访问或者别的设置情况下,root@localhost 会被修改,请多注意。

第三步

修改密码之后,记得将刚才 my.ini 文件中加入的“skip-grant-tables”删除掉或者屏蔽掉,然后重启 MySQL 服务。

有的人会想不删除“skip-grant-tables”岂不是更好,这个设置其实可以粗浅理解没有任何限制的操作。如果给 MySQL 新增了一个普通用户,而且只授权它只有“查询”权限。当用这个新增用户登录的之后,会发现它除了“查询”的权限外,还能操作“update”,“insert”等等。这就是为什么最后一定要把“skip-grant-tables”删除掉或者屏蔽掉的原因,所谓的安全隐患。

Linux下MySQL密码忘记解决

Linux 下 MySQL 的密码修改其实和 Windows 下的修改大同小异。其实就是找到 my.cnf 配置文件(其实它就是对应 Windows 下的 my.ini), my.cnf 配置文件一般在 /etc/my.cnf 下。通过 vi 命令打开 my.cnf 文件,也是加入“skip-grant-tables”,重启 MySQL 服务。剩下的操作和 Windows 下就一样了,毕竟都是进入 MySQL 之后才可以操作。修改完记得再将“skip-grant-tables”删除掉或者屏蔽掉,再次重启 MySQL 服务。

结语

解决 MySQL 的密码忘记问题,方法不是唯一的。以上方法如果不行,大家也可以搜一搜其它的解决方式。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

WorkLee

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

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

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

打赏作者

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

抵扣说明:

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

余额充值