当前位置: 首页 > 面试题库 >

重新获得WAMP上PHPMyAdmin丢失的MySQL密码的访问权限

岳意蕴
2023-03-14
问题内容

我在PHPMyAdmin中更改了我的 ‘root’@’localhost’
帐户的密码,并且喜欢(此人在这里询问),并将自己锁定在浏览器中的PHPMyAdmin之外。我正在使用WAMP 2.5。

针对该问题提供的解决方案对我不起作用,因为不幸的是,我丢失了重新分配给 root用户 的密码。

一些解决方案要求人们通过命令行(包括此源)来重置密码,而我已经尝试通过Windows命令行来成功,因为我现在没有任何权限:

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('mynewpassword');

ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'

WAMP带有MySQL控制台,但是我无法使用它,因为它会提示我输入密码,正如我之前所说,不再使用。

该视频说明了如何更改密码,并且与上述StackExchange答案中的答案一致,但是显然,我现在需要另一种方法来执行此操作,因为我不知道我会因为该人的警告而失去访问权限。

如果有任何建议,我将不胜感激,并深表歉意。我只是想使用堆栈进行Web开发,而通过WAMP配置对LAN站点的访问是一个冒险,因此,如果可能的话,我希望不需要重新安装所有内容。

编辑1
:继续尝试@RiggsFolly的解决方案。虽然我可以访问my.ini文件,进行更改,没有问题,并且可以通过WAMP或其他方式毫无问题地重新启动MySQL,但该行skip- grant-tables没有生效,给我留下了密码提示或无权执行任何操作。(我在这里写了一个新问题来解决这个问题,因为我觉得这是一个不同的问题。)

编辑2 :我尝试了@ t.niese在注释中提供的链接中的说明,并且当我将控制台设置为返回对说明的反馈时,它报告了此情况,但未更改任何内容:

C:\wamp\bin\mysql\mysql5.6.17\bin>mysqld --skip-grant-tables --console
[Note] Plugin 'FEDERATED' is disabled.
[Note] InnoDB: Using atomics to ref count buffer pool pages
[Note] InnoDB: The InnoDB memory heap is disabled
[Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
[Note] InnoDB: Compressed tables use zlib 1.2.3
[Note] InnoDB: Not using CPU crc32 instructions
[Note] InnoDB: Initializing buffer pool, size = 128.0M
[Note] InnoDB: Completed initialization of buffer pool
[ERROR] InnoDB: .\ibdatai can't be opened in read-write mode
[ERROR] InnoDB: The system tablespace must be writabe!
[ERROR] Plugin 'InnoDB' init function returned error.
[ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
[ERROR] Unknown/unsupported storage engine: InnoDB
[ERROR] Aborting
[Note] /* List of plugins shutting down */

问题答案:

这是一种允许您非常简单地重置MYSQL’root’密码的方法。

停止mysql服务

wampmanager -> MySQL -> Service -> Stop Service

编辑my.ini文件

wampmanager -> MySQL -> my.ini

在ini文件中找到[wampmysqld](32位)或[wampmysqld64](64位)部分

在该部分标题之后直接添加此行

skip-grant-tables

重新启动mysql服务。

wampmanager -> MySQL -> Service -> Start/Resume Service

打开MySQL控制台

wampmanager -> MySQL -> MySQL Console

现在,我们将重置root用户的密码,当然,这可以用于重置任何用户的密码。

mysql>命令提示符下输入以下2条命令,每条命令在行尾加半冒号,并在每行后按ENTER,以将命令发布给mysql。

MYSQL 5.7之前的版本

UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';
FLUSH PRIVILEGES;

发布MYSQL 5.7版后,列名已更改

UPDATE mysql.user SET authentication_string=PASSWORD('MyNewPass') WHERE User='root';
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;

请注意,该更新可能会报告它已更新了多行,因为该更新可能存在多个用户帐户,这些用户帐户的“
root”用户ID分别具有不同的域,即127.0.0.1,localhost和:: 1

现在,在mysql命令promt处输入“ quit”以存在mysql。

停止mysql服务

wampmanager -> MySQL -> Service -> Stop Service

编辑my.ini文件

wampmanager -> MySQL -> my.ini

在ini文件中找到[wampmysqld](32位)或[wampmysqld64](64位)部分

删除skip-grant-tables我们之前添加的参数。

不要将此参数留在ini文件中,这是一个巨大的安全漏洞。

重新启动mysql服务。

wampmanager -> MySQL -> Service -> Start/Resume Service

现在,您应该能够使用用户ID“ root”和您刚刚为该用户设置的新密码,使用phpmyadmin登录。



 类似资料:
  • 我在PHPMyAdmin中更改了我的“root”@“localhost”帐户的密码,并将自己锁定在浏览器的PHPMyAdmin之外。我正在使用WAMP 2.5。 在这个问题上提供的解决方案不适合我,因为不幸的是,我丢失了重新分配root的密码。 有些解决方案要求用户通过命令行(包括此源代码)重置密码,我曾尝试通过Windows命令行重置密码,但没有成功,因为我现在没有权限: WAMP附带了一个My

  • 问题内容: 我有一个在Mac上的XAMPP上运行的本地主机。在某个时候,我在phpMyAdmin中设置了一个我忘记了的密码。谁能帮我回到phpMyAdmin?我已经看了很多教程,但是它们要么都不起作用,要么引用了我的计算机上似乎没有的文件。有没有简单的方法? 当我尝试打开时: 我得到: 问题答案: 重新安装软件可解决此问题,只需确保在此过程中不要删除htdocs文件夹。

  • 获取访问攻击是网络渗透测试的第二部分。 在本节中,我们将连接到网络,这将使我们能够发起更强大的攻击并获得更准确的信息。 如果网络不使用加密,我们可以连接到它并嗅出未加密的数据。 如果网络是有线的,我们可以使用电缆并连接到它,可能通过更改我们的MAC地址。唯一的问题是攻击目标使用加密,如WEP,WPA,WPA2。 如果我们确实遇到加密数据,我们需要知道解密它的密钥,这在本章将会学习和实践。 如果网络

  • 启动修改丢失的MySQL单实例root的密码方式 首先停止MySQL进程 [root@localhost ~]# /etc/init.d/mysqld stop Shutting down MySQL. [确定] 使用--skip-grant-tables参数启动MySQL,忽略授权登陆验证,如下 [root@localhost ~]# /usr/local/mysql/bin/mys

  • 问题内容: 这个问题已经在这里有了答案 : 在phpMyAdmin中使用SHA256设置用户密码后,访问被拒绝 (2个答案) 4个月前关闭。 更新 较新版本的phpMyAdmin解决了此问题。我已经使用phpMyAdmin 5.0.1成功测试了 我已经安装了MySQL 8.0服务器和phpMyAdmin,但是当我尝试从浏览器访问它时,会发生以下错误: 我想它一定与实现的强密码和MySQL版本的相对

  • 这看起来是一个简单的问题,但却给我带来了无尽的挫败感。这只是我用来玩耍的房子里的一个小盒子。 我尝试了跳过授权表版本,并使用了authentication_string字段,而不是仍在使用的密码版本。我也尝试过init-file方法,但没有成功。 如果我使用跳过授权表版本,并使用以下行: 我得到的结果是: 我不明白(完全)语法有什么问题。这让我为一个很小的问题而生气(我认为)。有人有什么想法吗?提