更改root密码后PHPMyAdmin无法连接

Posted

技术标签:

【中文标题】更改root密码后PHPMyAdmin无法连接【英文标题】:PHPMyAdmin doesn't connect after root password change 【发布时间】:2012-10-12 04:39:35 【问题描述】:

我安装了 Xampp(适用于 Windows)。我很高兴使用它的所有功能。

然后我想更改 mysql 密码。我设置了一个随机生成的密码(rCZ4Xnz78zbLY2Vh)。然后phpMyAdmin停止登录。它开始给出以下错误消息,此后一直如此:

Error

MySQL said:
Cannot connect: invalid settings.

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.

然后我编辑了PHPMyAdmin的“config.inc.php”文件,其内容如下:

<?php

/* Servers configuration */
$i = 1;
$cfg['Servers'][$i]['host']         = '127.0.0.1';
$cfg['Servers'][$i]['port']         = '3306';
$cfg['Servers'][$i]['ssl']          = FALSE;
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension']    = 'mysql';
$cfg['Servers'][$i]['compress']     = FALSE;
$cfg['Servers'][$i]['controluser']  = 'root';   
$cfg['Servers'][$i]['controlpass']  = 'rCZ4Xnz78zbLY2Vh';
$cfg['Servers'][$i]['auth_type']    = 'config';
$cfg['Servers'][$i]['user']         = 'root';
$cfg['Servers'][$i]['password']     = 'rCZ4Xnz78zbLY2Vh';
$cfg['Servers'][$i]['nopassword']   = TRUE;

/* rajk - for blobstreaming */
$cfg['Servers'][$i]['bs_garbage_threshold']     = 50;
$cfg['Servers'][$i]['bs_repository_threshold']  = '32M';
$cfg['Servers'][$i]['bs_temp_blob_timeout']     = 600;
$cfg['Servers'][$i]['bs_temp_log_threshold']    = '32M';

/* Other settings */
$cfg['blowfish_secret'] = '';
$cfg['DefaultCharset']  = 'utf-8';
$cfg['UploadDir']       = '';
$cfg['SaveDir']         = '';

?>

但是我可以通过命令行使用相同的密码连接到 MySql 服务端。

C:\Users\hkBattousai>mysql.exe --user=root --password=rCZ4Xnz78zbLY2Vh
mysql.exe: Unknown OS character set 'cp857'.
mysql.exe: Switching to the default character set 'latin1'.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 21
Server version: 5.5.27 MySQL Community Server (GPL)

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

然后我通过命令行界面删除了密码:

我还从config.inc.php 文件中删除了密码。该文件中的相关行现在是:

$cfg['Servers'][$i]['controluser']  = 'root';
$cfg['Servers'][$i]['controlpass']  = '';
$cfg['Servers'][$i]['user']         = 'root';
$cfg['Servers'][$i]['password']     = '';

目前很奇怪,我用我删除的密码可以连接,但我用空密码无法连接:

C:\Users\hkBattousai>mysql.exe --user=root --password=rCZ4Xnz78zbLY2Vh  // Connects
C:\Users\hkBattousai>mysql.exe --user=root --password=                  // Error given

我想为这个用户分配另一个随机密码,并且我想通过 PHPMyAdmin 访问我的数据库,就像我之前在全新的 Xampp 安装中所做的那样。我该怎么办?我真的很困惑,我需要你的帮助。

就像config.inc.php 文件内容被忽略。我从模板文件config.sample.inc.php 中复制了它并更改了它的内容。它现在位于目录\Xampp\phpmyadmin\


版本:

Xampp   : 3.1.0
MySQL   : 5.5.27
PHP     : 5.4.7
Apache  : 2.4
Windows : 7 Ultimate x64 SP1

【问题讨论】:

【参考方案1】:

您需要编辑 phpMyAdmin 目录(可能是 C:\xampp\phpMyAdmin)中的 config.inc 文件,并更改此行以匹配您在 phpMyAdmin 中为 root 输入的密码。

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

【讨论】:

感谢您简单直接的回答!我一生都无法弄清楚哪个配置文件有我需要的信息,我很难在谷歌上搜索它,因为我不完全知道我在找什么!现在我可以继续我的课业了,因为我不再被我的数据库锁定了。 不客气。当我遇到这个问题时,我同样感到沮丧。 我不再使用 Xampp。现在我使用 Vagrant,如果你的目标环境是 Linux,你可能想研究一下。【参考方案2】:

如果您已经安装了 WAMP,请转到 [wamp root]\apps[phpmyadmin 安装] 并找到文件 config.inc.php。然后您将以下条目更改为root用户的新密码。

$cfg['服务器'][$i]['密码']

保存文件,不要忘记重新启动 WAMP 服务。现在它应该作为一个魅力:)

【讨论】:

【参考方案3】:

您需要指定实际密码。配置文件中未加密密码

【讨论】:

字符串“rCZ4Xnz78zbLY2Vh”不是密码的哈希值;它是密码本身。【参考方案4】:

以下是 Windows 机器的解决方案: 当您将根密码更改为 admin 时,现在当您访问 http://localhost/phpmyadmin 时,您会看到以下屏幕

打开 XAMPP_SETUP/phpMyAdmin/config.inc.php 文件 将config 更改为cookie 并添加密码。 并再次访问 http://localhost/phpmyadmin !!

【讨论】:

以上是关于更改root密码后PHPMyAdmin无法连接的主要内容,如果未能解决你的问题,请参考以下文章

更改了 phpMyAdmin 的 root 密码,现在我无法访问任何 MAMP

在 EasyPHPWAMP 中设置 root 密码后无法从 phpMyAdmin 访问 MySQL

XAMPP phpMyadmin:更改密码后拒绝访问

设置 root 密码并使用 Instant Rails 后无法访问 PHPmyAdmin

无法修改 config.inc.php

更改密码后拒绝 phpMyAdmin 访问,config.inc.php 仅可读