我在PHPMyAdmin中更改了我的**'root'@'localhost'帐户的密码,并在浏览器上将自己锁定在PHPMyAdmin之外。我使用的是WAMP 2.5。
这个问题的解决方案对我不起作用,因为不幸的是,我丢失了重新分配给root**的密码。
有些解决方案要求用户通过命令行(including this source)重置密码,我尝试过通过Windows命令行重置密码,但没有成功,因为我现在没有权限:
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('mynewpassword');
ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'
WAMP带有一个MySQL控制台,但我无法使用它,因为它提示我输入密码,正如我所说,不再有。
This video explains how to change passwords,它与上面StackExchange答案中的答案一致,但显然,我现在需要另一种方法来完成此操作,因为我不知道我会像那个家伙警告的那样失去访问权限。
我将感谢任何建议,并道歉,如果这是一个新手类型的事情问。我刚刚掌握使用堆栈进行Web开发的窍门,并通过WAMP配置访问局域网站点是一个相当冒险的过程,所以如果可能的话,我更喜欢不需要重新安装所有东西的东西。
Edit 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 */
2条答案
按热度按时间oknwwptz1#
这里有一个方法,将允许您重置MYSQL 'root'密码很简单.
停止mysql服务
编辑my.ini文件
在ini文件中找到
[wampmysqld]
(32位)或[wampmysqld64]
(64位)部分直接在该节标题后添加此行
重新启动mysql服务。
打开MySQL控制台
现在,我们将重置root用户的密码,当然,这也可用于重置任何用户的密码。
在
mysql>
命令提示符下输入以下2个命令,每个命令的行尾都有一个分号,并在每行之后按Enter键,以向mysql发出命令。MYSQL 5.7之前的版本
发布MYSQL 5.7版后,列名已更改
现在,在mysql命令提示符处输入“quit”以存在mysql。
停止mysql服务
编辑my.ini文件
在ini文件中找到
[wampmysqld]
(32位)或[wampmysqld64]
(64位)部分删除前面添加的
skip-grant-tables
参数。请勿在ini文件中保留此参数,这是一个巨大的安全漏洞。
重新启动mysql服务。
现在,如果需要,您可以设置root用户帐户,使其不会使密码自动过期
然后运行以下查询
现在您应该可以使用用户ID 'root'和刚刚为该用户设置的新密码登录phpmyadmin。
ac1kyiln2#
之前的答案对我不起作用,因为MySQL控制台在按下intro后会阻止我。
创建一个包含以下内容的文件 *C:\wamp 64\mysql-init.txt *:
这会将用户 root 的密码重置为 1234。然后,在Windows命令行上运行下一个命令:
根据WAMP在文件系统上的安装位置更改路径。
最后,重新启动WAMP服务。