这解决了! 更改忘记的MySQL root用户密码
你好!
这是井上,来自超越四国办事处的波斯猫。
有一天,我在本地环境中随意尝试访问MySQL,但无法访问。发生了什么?即使我输入密码,也会返回错误。
“即使您忘记了密码,是否可以将其更改为新密码?” ”
这个博客是在反复试验的结果下诞生的!
此时我采取的步骤如下。
① 检查初始密码
② 检查密码是否已更改
③ 进入MySQL并设置新密码
请一定要看到最后!
初始密码在哪里? ?
要检查初始密码,需要检查/var/log下的“mysqld.log”。
从版本5.7开始,临时密码输出到“mysqld.log”。
*目前8.0.33版本已经发布。点击此处了解详情
要检查 MySQL 客户端版本,请输入以下命令。
[root@test-aws-harukainoue ~]# mysql --version mysql Ver 14.14 Distrib 5.7.25,适用于 Linux (x86_64),使用 EditLine 包装器
我发现我本地环境MySQL版本是5.7以上!
[root@test-aws-harukainoue log]# pwd /var/log [root@test-aws-harukainoue log]# less mysqld.log | grep "临时密码" 2019-04-08T02:32:37.248018Z 1 [注意] 为 root@localhost 生成临时密码:x=B-:.9iaqc?
当查看less时,很难找到初始密码,因此
使用“grep”提取包含[临时密码]的字符串。
从执行结果可以看到MySQL的初始密码为字符串“x=B-:.9iaqc?”。
让我们深入了解 MySQL!
进入MySQL的命令如下。
mysql -u 根 -p
当我执行它时,我被要求输入密码,所以我输入“x=B-:.9iaqc?”。
输入密码:错误 1045 (28000):用户“root”@“localhost”访问被拒绝(使用密码:YES)
啊? ? ?事情不应该是这样的。 。 。
无论尝试多少次,都会显示错误,无法进入MySQL。
这样,您就无法将 MySQL 密码更改为新密码。 。 。
也许您以前更改过 MySQL 密码但不记得了,所以
尝试其他方法!
这解决了!设置新密码
在vi中打开“my.cnf”并编辑它。
[root@test-aws-harukainoue 等]# vi /etc/my.cnf
在[mysqld]下输入“skip-grant-tables”并覆盖并保存。
关于如何编辑和保存vi的详细说明,请参见之前的博客【对于Linux初学者】完成!请参考
使用vi命令编辑并保存重新启动 MySQL。
[root@test-aws-harukainoue 等]# systemctl restart mysqld
输入MySQL。
[root@test-aws-harukainoue etc]# mysql -u root 欢迎使用 MySQL 监视器。命令以 ; 或 \g 结尾。您的 MySQL 连接 ID 为 2 服务器版本:5.7.25 MySQL 社区服务器 (GPL) 版权所有 (c) ) 2000, 2019,Oracle 和/或其附属公司保留所有权利。其他名称可能是其各自所有者的商标。键入“\c”以清除当前输入语句 mysql>。
现在您可以进入MySQL,执行以下命令来反映权限并设置新密码。
mysql> 刷新权限;查询正常,0 行受影响(0.01 秒) mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Newpassword'; 查询正常,0 行受影响(0.00 秒)
现在您已将密码更改为新密码,退出 MySQL。
mysql> 退出
再次用vi打开“my.cnf”并进行编辑。
接下来,删除之前添加的“skip-grant-tables”并覆盖它。
还要重新启动MySQL。
[root@test-aws-harukainoue 等]# systemctl restart mysqld
让我们用新设置的密码进入MySQL吧!
[root@test-aws-harukainoue etc]# mysql -u root -p 输入密码:新密码 欢迎使用 ; 或 \g 命令。您的 MySQL 连接 ID 为 2 服务器版本:5.7.25 MySQL 社区服务器(GPL) 版权所有 (c) 2019,Oracle 和/或其附属公司保留所有权利。其他名称可能是其各自所有者的商标。 ' 或 '\h' 获取帮助。键入 '\c' 清除当前输入语句。
成功!我能够使用新密码进入MySQL!
顺便说一下,这里介绍一下进入MySQL后如何查看MySQL版本。
mysql> 选择版本(); +------------+ | +------------+ | 5.7.25 | -- -----+ 1 行一组(0.00 秒)
顺便说一下,这里介绍如何检查 MySQL Server 版本。
如果您检查的是MySQL Server版本,则需要密码才能进入MySQL。
[root@test-aws-harukainoue ~]# mysqladmin -u root -p version 输入密码:Newpassword mysqladmin Ver 8.42 Distrib 5.7.25,适用于 x86_64 上的 Linux 版权所有 (c) 2000、2019,Oracle 和/或其附属公司全部。保留权利。 Oracle 是 Oracle Corporation 和/或其附属公司的注册商标。 其他名称可能是其各自所有者的商标。 服务器版本 5.7.25 协议版本 10 通过 UNIX 套接字连接本地主机 UNIX 套接字 /var/lib/mysql/mysql。 .sock 正常运行时间:21 分 2 秒 线程:1 问题:2 慢速查询:0 打开:105 刷新表:1 打开表:98 每秒查询 平均:0.001
最后
我无法使用初始密码进入MySQL的原因
是因为我之前更改过密码并且忘记了。
我在本地环境测试时忘记了 MySQL 密码!有机会的话请尝试一下。
我实在是不懂MySQL。 。 。
我想继续接受挑战,但又不想觉得自己不擅长!
每天都在成长,每天都在前进。
我必须每天更新自己! ! !
感谢您阅读到最后。