[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

【超过500家企业部署】AWS搭建、运维、监控服务

【超过500家企业部署】AWS搭建、运维、监控服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

[仅适用于 WordPress] 云服务器“Web Speed”

[仅适用于 WordPress] 云服务器“Web Speed”

[便宜]网站安全自动诊断“快速扫描仪”

[便宜]网站安全自动诊断“快速扫描仪”

[预约系统开发] EDISONE定制开发服务

[预约系统开发] EDISONE定制开发服务

[注册100个URL 0日元] 网站监控服务“Appmill”

[注册100个URL 0日元] 网站监控服务“Appmill”

【兼容200多个国家】全球eSIM“超越SIM”

【兼容200多个国家】全球eSIM“超越SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

【全球专属服务】Beyond北美及中国MSP

【全球专属服务】Beyond北美及中国MSP

[YouTube]超越官方频道“美由丸频道”

[YouTube]超越官方频道“美由丸频道”

这解决了! 更改忘记的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。 。 。
我想继续接受挑战,但又不想觉得自己不擅长!

每天都在成长,每天都在前进。
我必须每天更新自己! ! !
感谢您阅读到最后。

如果您觉得这篇文章有帮助,请点赞!
13
加载中...
13 票,平均:1.00 / 113
69,709
X Facebook 哈特纳书签 口袋
[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

写这篇文章的人

关于作者

井上明香

隶属于系统解决方案部门。
作为四国办事处的创始成员加入Beyond。
我在没有任何经验的情况下就进入了IT行业。 作为一个教育团队,我们为应届毕业生、职业生涯中期和现有成员创建课程并进行培训。
主营业务为服务器运维。
无论哪种方式,我们都重视您的内容。
也属于网络内容部门和 YouTube 团队。