修正了 phpMyAdmin 的用户‘ root’@‘ localhost’访问被拒绝的问题

我在个人电脑上使用 WAMP Server 2.2。在 phpMyAdmin (版本5.5.24)中,我编辑了‘ root’用户(使用‘ localhost’host) ,并将密码设置为‘ root’。事实证明,这是一个我试图挽回的大错误。现在,当我转到 Localhost/phpmyadmin/时,我得到了左边的数据库菜单,但是主框架有一个错误:

#1045 - Access denied for user 'root'@'localhost' (using password: NO)
phpMyAdmin tried to connect to the MySQL server, and the server rejected the
connection. You should check the host, username and password in your
configuration and make sure that they correspond to the information given
by the administrator of the MySQL server.

如果我去 127.0.0.1/phpmyadmin,我做 没有得到错误和一切工作正常。

我尝试将用户的密码修改回无密码; 我尝试修改 config.inc.php 文件以添加新的密码(但这使得 phpMyAdmin 完全错误) ; 我尝试删除并重新创建 root/localhost 用户。好像都没用。Root/localhost 用户似乎没有密码和所有权限,但错误仍然存在。

有什么主意或者我怎样才能让这个用户的访问恢复正常而不必重新安装 WAMP?

491028 次浏览

@ 大衮有正确的想法,但是缺乏细节。

如果您使用访问 127.0.0.1/phpmyadmin并仔细查看在 MySQL 中设置的用户,您应该会看到 root用户名的3个版本。

这是因为在 MySQL 中,每个 userid 都与一个 HOST 相关联,即。允许用户登录的 PC (ip 地址)。所以你的3个“ root”用户标识实际上是相同的用户标识,允许从3个独立的主机登录。通常开箱即用的‘ root’有3个 HOSTS 设置,127.0.0.1,localhost 和: : 1

这些是:-

Localhost 是从您的 HOSTS 文件(c: windows system 32驱动程序等主机)创建的 THIS MACHINE 的别名

127.0.0.1是本机的 IPv4环回 IP 地址

: : 1是此机器的 IPv6环回 IP 地址

您可能已经为 root@127.0.0.1设置了密码,但没有为其他任何密码设置密码。 现在您的浏览器将“任意”决定使用: : 1或127.0.0.1作为主机 ip,因此当它使用: : 1时,您的登录将失败。

因此,使用 127.0.0.1/phpmyadmin登录并更改所有3个‘ root’用户名,使其拥有相同的密码,您应该不会再看到这个问题。

还要确保您的 HOSTS 文件包含这两个条目

127.0.0.1  localhost
::1        localhost

当我在 phpMyAdmin 页面中更改了我的“ root”密码之后,我遇到了同样的问题,我也在网上寻找解决方案,但是没有得到我需要的答案,所以我检查了 phpMyAdmin 目录中的文档。

转到并编辑该文件

\modules\phpmyadmin414x140123114237\config.sample.inc.php

找绳子

$cfg['Servers'][$i]['auth_type'] = 'config'

并将 ‘ config’更改为 “ http”,这将允许您在使用浏览器进入 phpMyAdmin 页面时输入用户名和密码。

或者

查看同一个 phpMyAdmin 目录(phpmyadmin414x140123114237\doc\html)下的文档文件以获得帮助并搜索 $cfg['Servers'][$i]['auth_type'],您将看到如何登录到 phpMyAdmin 页面的4个选项。

C:\wamp\apps\phpmyadmin3.5.1下查找 config.inc文件 在这个文件中找到 这一行

$cfg['Servers'][$i]['password'] =";

然后换成

$cfg['Servers'][$i]['password'] = 'Type your root password here';

嗯. . 这对我来说似乎很奇怪,但它突然工作! !

我所做的就是:

  1. 导航到 phpMyAdmin 文件夹,并编辑文件“ config.inc.php”
  2. 查找行: $cfg [‘ Servers’][ $i ][‘ password’] =”;
  3. 在“1234”之间添加任何密码
  4. 重新加载的 localhost/phpmyadmin & 127.0.0.1/phpmyadmin (都显示了相同的错误)
  5. 将“ config.inc.php”恢复到旧状态(删除密码)
  6. 重做第四步

突然就成功了!

我有同样的问题后,我已经改变了数据库中的密码. . 我所做的是 编辑我之前更改过的更新后的密码,我没有在 config.inc.php 和相同的用户名中进行更新 在 < strong > D: xamp phpMyAdmin config.inc 下

$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = **'root'**;
$cfg['Servers'][$i]['password'] = **'epufhy**';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['AllowNoPassword'] = true;
$cfg['Lang'] = '';

要解决上述错误:-

a)  Open Mysql console from the tray of WAMP server


b)  It will ask for a password(you might have set this password earlier when u installed MySql in your system)(In my case it is admin)


c)  Enter admin (press enter)

现在,这意味着 PhpMyAdmin 假设 MySql 没有密码,无法连接 MySql,但是您可以通过提供密码来连接 MySql 服务器 从下面的路径打开这个 Open config.inc 文件

C:\wamp\apps\phpmyadmin4.1.14

换掉这条线

$cfg['Servers'][$i]['password'] =’ ’;

$cfg['Servers'][$i]['password'] = 'admin';

我希望能成功。

Xampp phpMyAdmin/config.inc

找到 -

$cfg [‘ Servers’][ $i ][‘ auth _ type’] = ‘ config’

然后将“ config”改为“ http”,这样就可以在使用浏览器进入 phpMyAdmin 页面时输入用户名和密码。

使用 $cfg['Servers'][$i]['auth_type'] = 'config';是不安全的,我认为。

使用与 $cfg['Servers'][$i]['auth_type'] = 'cookie';饼干是更好的我认为。

我还补充说:

$cfg['LoginCookieRecall'] = true;


$cfg['LoginCookieValidity'] = 100440;


$cfg['LoginCookieStore'] = 0;  //Define how long login cookie should be stored in browser. Default 0 means that it will be kept for existing session. This is recommended for not trusted environments.
$cfg['LoginCookieDeleteAll'] = true; //If enabled (default), logout deletes cookies for all servers, otherwise only for current one. Setting this to false makes it easy to forget to log out from other server, when you are using more of them.

我在费城加了这个

session.gc_maxlifetime=150000

如果你有 mysql 的现有密码,那么按照下面提到的方式写:

C: wamp apps phpmyadmin3.5.1下找到 config (dot) inc 文件在这个文件中找到这一行

$cfg['Servers'][$i]['password'] =";

然后换成

$cfg['Servers'][$i]['password'] = **'your-password'**;

还要注意,“ setup”(即 localhost/phpmyadmin/setup)处理“ no password”选项的方式有一个错误。同时它创建了一条线,上面写着:

$cfg['Servers'][$i]['nopassword'] = true;

参数的实际名称应如下所示:

$cfg['Servers'][$i]['AllowNoPassword'] = true;

这个“设置”错误在今天(2015年10月20日)已经存在。

尝试查找 $cfg [‘ Servers’][ $i ][‘ password’] =”; 在位于 wamp/script/config.inc.php 的配置文件中

然后将密码设置为 mysql 密码并刷新 PhpmyAdmin

对我有效的方法是:

转到 config.inc.php。

改变

$cfg['Servers'][$i]['AllowNoPassword'] = true;

$cfg['Servers'][$i]['AllowNoPassword'] = false;

改变

$cfg['Servers'][$i]['password'] = '';

$cfg['Servers'][$i]['password'] = ' ';

改变

$cfg['Servers'][$i]['auth_type'] = 'config';

$cfg['Servers'][$i]['auth_type'] = 'http';

重新加载页面 http://localhost/phpmyadmin

类型: 根
(空)

现在您可以访问它了。 :)

在 C: xampp phpMyAdmin 下找到 config.inc.php 文件,并在任何编辑器中打开它。 找到以下一行:

$cfg['Servers'][$i]['password'] = '  ';

在引号中输入所选密码。另外,为了让 localhost/phpmyadmin 请求用户名和密码,请找到以下行:

$cfg['Servers'][$i]['auth_type'] = 'config';

将上面的行更改为:

$cfg['Servers'][$i]['auth_type'] = 'cookie';

我使用这个 URL 输入 phpMyAdmin http://localhost:2145/phpmyadmin,但得到以下错误:
”phpMyAdmin 试图连接到 MySQL 服务器,但服务器拒绝了连接。您应该检查您的配置中的主机、用户名和密码,并确保它们与 MySQL 服务器管理员提供的信息相对应
我的 config.inc.php 文件是

$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['host'] = 'localhost:2145';
$cfg['Servers'][$i]['connect_type'] = 'cookie';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = true;
/* User used to manipulate with storage */
// $cfg['Servers'][$i]['controlhost'] = '';
// $cfg['Servers'][$i]['controlport'] = '';
$cfg['Servers'][$i]['controluser'] = '';
$cfg['Servers'][$i]['controlpass'] = '';

这个改变为我解决了错误

$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
/* Server parameters */
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = true;

然后

sudo service mysql stop
/opt/lampp/lampp start

问题就解决了

我也遇到了这个问题,

我发现在 phpmyadmin 的配置文件中密码字段是空白的。我输入了数据库设置的密码。现在一切正常

有时候配置并不总是问题所在。

尝试检查 MySql 配置。如果你改变了港口号码。在 mysql 上对 PHP 配置 php.ini进行类似的更改。 查找并替换必要的更改。

我在使用 XAMPP 和 phpMyAdmin 时遇到了同样的问题,这就是我如何轻松解决它的。


1. 打开 XAMPP 控制面板
然后选择右边的资源管理器按钮


3.然后,它将导航到配置的位置,你必须 < br > 进入 phpMyAdmin 文件夹,然后右键单击突出显示的文件夹,并选择任何文本编辑器编辑选项



4. 然后编辑 MySQL 服务器用户名和密码的圆角部分
如果您的 MySQL 服务器用户名是
如果您的 MySQL 服务器密码是 ,请保持图像 < br > < br > 根据您给 MySQL 服务器的用户名和密码更改它们



5. 保存更改,打开浏览器并粘贴
Http://localhost/phpMyAdmin/index.php < br > 导航到 phpMyAdmin