WAMP 中的 phpmyadmin 错误 #1045 - 需要重置密码

Posted

技术标签:

【中文标题】WAMP 中的 phpmyadmin 错误 #1045 - 需要重置密码【英文标题】:phpmyadmin in WAMP error #1045 - Need to reset password 【发布时间】:2014-05-08 14:55:29 【问题描述】:

我最近在我的 PC 上重新安装了 WAMP,并从我的备份中复制了文件。我可以毫无问题地访问localhost,并且我现有的网站运行良好。

问题是我似乎无法通过http://localhost/phpmyadmin/index.php 登录。我收到 #1045 无法登录 MySQL 服务器 响应。

在做了some reading之后,我一直相信我可以编辑phpmyadmin的config.inc.php文件来调整设置。设置我的文件后(如下所述),我只是收到 无法连接:无效设置。 错误。

   <?php
/*
 * This is needed for cookie based authentication to encrypt password in
 * cookie
 */
$cfg['blowfish_secret'] = 'xampp'; /* YOU SHOULD CHANGE THIS FOR A MORE SECURE COOKIE AUTH! */

/*
 * Servers configuration
 */
$i = 0;

/*
 * First server
 */
$i++;

/* Authentication type and info */
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['AllowNoPasswordRoot'] = true;

/* User for advanced features */
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = '';

/* Advanced phpMyAdmin features */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
$cfg['Servers'][$i]['relation'] = 'pma_relation';
$cfg['Servers'][$i]['table_info'] = 'pma_table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma_column_info';
$cfg['Servers'][$i]['history'] = 'pma_history';
$cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';

/*
 * End of servers configuration
 */

?>

谁能指出我可以做些什么来解决这个问题?

我正在使用 PHP 5.4.12 和 mysql 5.6.12 运行 WAMP 2。我也尝试在 WAMP 中登录 mySQL 控制台,但我无法通过密码请求...

【问题讨论】:

您从备份中复制了什么到您的新安装? wamp 的备份版本(即 apache 和 mysql)是否与您安装的版本相同并复制过来? 【参考方案1】:

如果问题只是忘记了密码,这将允许您重置它。但是,如果您将不兼容的数据库与 MySQL Server 版本混合使用,那么稍后您重置密码后会出现其他问题。

停止mysql服务

wampmanager -&gt; MySQL -&gt; Service -&gt; Stop Service

编辑 my.ini 文件

wampmanager -&gt; MySQL -&gt; my.ini

在 ini 文件中找到 [wampmysqld] 部分。在[wampmysqld]部分后面直接添加这一行

skip-grant-tables

重启mysql服务。 wampmanager -&gt; MySQL -&gt; Service -&gt; Start/Resume Service

打开 MySQL 控制台 wampmanager -&gt; MySQL -&gt; MySQL Console

现在我们要重置root用户的密码,当然这可以用来重置任何用户的密码。 在mysql&gt;命令提示符处输入以下2条命令,每条命令在一行末尾加分号,每行后按回车,向mysql发出命令。

对于 5.7.0 之前的 MySQL 版本

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

对于 5.7.0 之后的 MySQL 版本

UPDATE mysql.user SET authentication_string = PASSWORD('MyNewPass'), 
                      password_expired = 'N' 
WHERE User = 'root';
FLUSH PRIVILEGES;

注意更新应该报告它已经更新了不止一行,这是因为实际上有 3 个用户 ID 为“root”的用户帐户,每个帐户都有不同的域

即127.0.0.1、localhost 和 ::1*

现在在mysql命令promt中输入'quit'以存在mysql。

停止mysql服务 wampmanager -&gt; MySQL -&gt; Service -&gt; Stop Service

编辑 my.ini 文件 wampmanager -&gt; MySQL -&gt; my.ini

在ini文件中找到[wampmysqld]部分 移除我们之前添加的skip-grant-tables 参数。

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

重启mysql服务。 wampmanager -&gt; MySQL -&gt; Service -&gt; Start/Resume Service

【讨论】:

昨晚我实际上设法通过这些步骤的一个版本并让它工作。感谢您提供非常详细的答案! 这个答案救了我的培根。尝试了数十个 S.O. 中建议的所有其他内容。帖子,这是唯一有效的方法。干杯! 只有这样才能帮助我解决很多问题。另外,如果用户不存在,请使用use mysql; insert into user (Host, User, authentication_string, ssl_cipher, x509_issuer, x509_subject) values ('localhost','root',password('your_password'), 'your_random_string', 'your_random_string', 'your_random_string');【参考方案2】:

我遇到了这个问题。不幸的是,我的用户名 root 和密码 = '' 不起作用。 我使用以下解决方案及其对我有用。你可以试试运气..

1) 点击 wamp 图标(时间不远,笔记本电脑右下角)

2) 进入“MySQL”并点击“MySQL Console”。

终端打开后,输入这三个命令。

mysql> SET PASSWORD for 'root'@'localhost' = '';
mysql> SET PASSWORD for 'root'@'127.0.0.1' = '';
mysql> SET PASSWORD for 'root'@'::1' = '';

注意:你不需要写 mysql> .. 它已经在那里了。 :)

现在重新启动你的 wamp。 转到 localhost/phpmyadmin ,输入用户名“root”并将密码留空..

如果答案对您有用,请不要忘记投票。

祝你好运。

【讨论】:

它奏效了,我认为这是一种更快的修复方法。 除非你不知道root密码你不能进入MySQL控制台! @RiggsFolly。如果你不知道root密码。在终端中尝试“root”作为密码。 问题是关于root 帐户的密码丢失!如果丢失,您也无法登录控制台,因为这需要密码:)【参考方案3】:

对于 MySQL 5.7 以上

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

必须改为 -

update user set authentication_string=password('MyNewPass') where user='root';

【讨论】:

以上是关于WAMP 中的 phpmyadmin 错误 #1045 - 需要重置密码的主要内容,如果未能解决你的问题,请参考以下文章

WAMP - phpMyAdmin [错误 #2002]

WAMP 错误:禁止您无权访问此服务器上的 /phpmyadmin/

WAMP 错误:禁止您无权访问此服务器上的 /phpmyadmin/

在 WAMP 中更改 MySQL 端口号后 PHPMyAdmin 页面错误

WAMP 2.2e - phpmyadmin 致命错误:超过 30 秒的最大执行时间

Wamp 服务器:使用 phpmyadmin