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 -> MySQL -> Service -> Stop Service
编辑 my.ini 文件
wampmanager -> MySQL -> my.ini
在 ini 文件中找到 [wampmysqld]
部分。在[wampmysqld]
部分后面直接添加这一行
skip-grant-tables
重启mysql服务。
wampmanager -> MySQL -> Service -> Start/Resume Service
打开 MySQL 控制台
wampmanager -> MySQL -> MySQL Console
现在我们要重置root用户的密码,当然这可以用来重置任何用户的密码。
在mysql>
命令提示符处输入以下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 -> MySQL -> Service -> Stop Service
编辑 my.ini 文件
wampmanager -> MySQL -> my.ini
在ini文件中找到[wampmysqld]部分
移除我们之前添加的skip-grant-tables
参数。
不要将此参数留在 ini 文件中,因为它是一个巨大的安全漏洞。
重启mysql服务。
wampmanager -> MySQL -> Service -> 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 - 需要重置密码的主要内容,如果未能解决你的问题,请参考以下文章
在win7上的不同目录中的wamp 2.5中创建vhost返回禁止错误
在win7上的不同目录中的wamp 2.5中创建vhost返回禁止错误