15

我们在运行 IIS 7.0 的 Windows 机器上安装了 PHPMyAdmin。
我们可以使用命令行连接到 MySQL,但我们无法使用 PHPMyAdmin 进行连接。
显示的错误是:Error #1045 Cannot log in to the MySQL server.
有人可以帮忙吗?

PHP Version 5.4.0
mysqlnd 5.0.10 - 20111026 - $Revision: 323634 $
phpMyAdmin-3.5.4-rc1-all-languages.7z

编辑:
我点击下面的链接没有成功,意味着我更改了密码,但 phpmyadmin 仍然有那个错误......
C.5.4.1.1。重置 Root 密码:Windows 系统

在堆栈中也有类似下面的线程没有帮助:
随机错误:#1045 无法登录到 MySQL 服务器
,但该错误不是随机的 -> 我总是有那个错误...

这是 phpmyadmin 文件夹中的 config.inc.php 文件:

<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
 * Config file view and save screen
 *
 * @package PhpMyAdmin-setup
 */

if (!defined('PHPMYADMIN')) {
    exit;
}

/**
 * Core libraries.
 */
require_once './libraries/config/FormDisplay.class.php';
require_once './setup/lib/index.lib.php';
require_once './setup/lib/ConfigGenerator.class.php';

$config_readable = false;
$config_writable = false;
$config_exists = false;
check_config_rw($config_readable, $config_writable, $config_exists);
?>
<h2><?php echo __('Configuration file') ?></h2>
<?php display_form_top('config.php'); ?>
<input type="hidden" name="eol" value="<?php echo htmlspecialchars(PMA_ifSetOr($_GET['eol'], 'unix')) ?>" />
<?php display_fieldset_top('', '', null, array('class' => 'simple')); ?>
<tr>
    <td>
        <textarea cols="50" rows="20" name="textconfig" id="textconfig" spellcheck="false"><?php
            echo htmlspecialchars(ConfigGenerator::getConfigFile())
        ?></textarea>
    </td>
</tr>
<tr>
    <td class="lastrow" style="text-align: left">
        <input type="submit" name="submit_download" value="<?php echo __('Download') ?>" class="green" />
        <input type="submit" name="submit_save" value="<?php echo __('Save') ?>"<?php if (!$config_writable) echo ' disabled="disabled"' ?> />
    </td>
</tr>
<?php
display_fieldset_bottom_simple();
display_form_bottom();
?>

我应该更改这些代码的哪些部分?

谢谢。

4

10 回答 10

22

在 Linux 中,我通过转到根命令提示符类型来解决此问题:

# mysqladmin -u root password 'Secret Phrase Here'

然后返回并登录。每次都有效!

于 2013-06-26T09:44:55.113 回答
15

按照您在帖子中提到的链接后,您需要做两件事:

必须在 phpmyadmin 的config.inc.php中映射更改的登录凭据

其次,您需要重新启动您的 web 和 mysql 服务器。

php版本不是这里的问题..您需要转到phpmyadmin安装目录并找到文件config.inc.php,并在该文件中将您当前的mysql密码放在行

$cfg['Servers'][$i]['user'] = 'root'; //mysql username here
$cfg['Servers'][$i]['password'] = 'password'; //mysql password here
于 2012-11-13T09:01:49.383 回答
5

如果您是第一次安装,请尝试以 root 用户名和密码登录

于 2013-11-03T09:23:01.960 回答
5

在一切都没有之后对我有用的另一件事 - 将 config.inc.php 中的“localhost”更改为 127.0.0.1

于 2015-08-13T18:47:38.307 回答
4

在 mysql 5.7 中,auth 机制发生了变化,文档可以在官方手册中找到

使用系统 root 用户(或sudo),您可以通过 CLI 使用 mysql 'root' 用户连接到 mysql 数据库。所有其他用户也将工作。

然而,在 phpmyadmin 中,所有 mysql 用户都可以使用,但 mysql 'root' 用户不行。

这来自这里:

$ mysql -Ne "select Host,User,plugin from mysql.user where user='root';"
+-----------+------+-----------------------+
| localhost | root | auth_socket |
|  hostname | root | mysql_native_password |
+-----------+------+-----------------------+

要“修复”此安全功能,请执行以下操作:

mysql -Ne "update mysql.user set plugin='mysql_native_password' where User='root' and Host='localhost'; flush privileges;"

更多相关信息也可以手册中找到。

于 2016-06-07T18:25:32.700 回答
2

对于 ubuntu 用户,你的 config.inc.php 文件应该是这样的

/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = 'username';
$cfg['Servers'][$i]['password'] = 'password';
/* Server parameters */
$cfg['Servers'][$i]['host'] = '127.0.0.1';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = false;
/**
 * phpMyAdmin configuration storage settings.
 */
/* User used to manipulate with storage */
// $cfg['Servers'][$i]['controlhost'] = '';
// $cfg['Servers'][$i]['controlport'] = '';
// $cfg['Servers'][$i]['controluser'] = 'pma';
// $cfg['Servers'][$i]['controlpass'] = '';
于 2017-02-03T07:33:24.717 回答
1

当您在安全选项卡中更改密码时,有两个部分,一个在上面,一个在下面。我认为这里的常见错误是其他人尝试使用他们设置的帐户“低于”用于 htaccess 的帐户登录,而他们应该使用他们在上述部分设置的密码登录。我就是这样修的。

于 2015-08-03T14:42:18.330 回答
1

一些答案;也看看这个;确保没有 mysql 实例正在运行,这总是由于没有很好地结束会话而带来的。获得超级用户权限

须藤

并在提示时输入您的密码(请记住,当您输入密码时不会出现任何内容,因此,不用担心,只需输入并按 Enter 键)。接下来转到您的终端并停止所有 mysql 实例:

/etc/init.d/mysql 停止

之后,去重新启动mysql服务(或重新启动整个xampp)。这解决了我的问题。祝一切顺利。

于 2019-03-20T10:21:48.367 回答
0

如果您登录“phpmyadmin”,然后退出,您可能无法尝试在同一浏览器窗口中重新登录。注销将浏览器发送到如下所示的 URL:

http://localhost/phpmyadmin/index.php?db=&token=354a350abed02588e4b59f44217826fd&old_usr=tester

但对我来说,在 Safari 浏览器中的 Mac OS X 上,该 URL 只是不想工作。因此,我必须输入干净的 URL:

http://localhost/phpmyadmin

不知道为什么,但截至今天,2015 年 10 月 20 日,这就是我所经历的。

于 2015-10-20T17:26:58.847 回答
0
sudo service mysql stop

sudo mysqld --skip-grant-tables &

mysql -u root mysql

Change MYSECRET with your new root password

UPDATE user SET Password=PASSWORD('MYSECRET') WHERE User='root'; FLUSH PRIVILEGES; exit;
于 2016-04-04T06:36:55.273 回答