";您的配置中定义的controluser的连接失败”;使用XAMPP中的phpMyAdmin


"Connection for controluser as defined in your configuration failed" with phpMyAdmin in XAMPP

我刚刚在我的Windows XP机器上安装了XAMPP,我收到一个错误,说:

配置中定义的controluser的连接失败。

在我安装XAMPP之前,我安装了一个MySQL数据库,它有一个密码。我更改了密码,并将其放在适用于MySQL的config.inc.php中,得到了以下错误:

<?php
if (!empty($_SERVER['HTTPS']) && ('on' == $_SERVER['HTTPS'])) {
    $uri = 'https://';
} else {
    $uri = 'http://';
}
$uri .= $_SERVER['HTTP_HOST'];
header('Location: '.$uri.'/xampp/');
exit;
?>

当我尝试访问index.php时,XAMPP安装似乎有问题。我能做些什么来解决这个问题?

  1. 在浏览器中打开phpMyAdmin并以root用户身份登录
  2. 创建一个名为phpmyadmin的数据库
  3. 创建一个名为pma的用户,并将"主机"设置为web服务器的主机名或IP地址(如果web服务器和MySQL在同一个框中,则使用localhost),记下密码,并授予新用户对phpmyadmin数据库的完全控制权。建议此用户除此数据库外没有其他访问权限
  4. 转到phpMyAdmin安装目录,在那里应该可以找到一个名为sql的子目录
  5. sql中,您会发现一个名为create_tables.sql的文件。在文本编辑器中打开它
  6. 在phpMyAdmin中,选择phpmyadmin数据库,然后单击"SQL"选项卡
  7. create_tables.sql中的整个文本复制/粘贴到文本框中,然后运行查询
  8. 打开phpMyAdmin安装目录中的config.inc.php文件,并添加以下行(或者更改现有设置(如果它们已经存在)):

    $cfg['Servers'][1]['pmadb'] = 'phpmyadmin';
    $cfg['Servers'][1]['controluser'] = 'pma';
    $cfg['Servers'][1]['controlpass'] = '<your password>';
    // Note: The list below may grow as PMA evolves and more control tables are added
    // Use your common sense! Don't just blindly copypasta, look at what it means!
    $cfg['Servers'][1]['bookmarktable'] = 'pma_bookmark';
    $cfg['Servers'][1]['relation'] = 'pma_relation';
    $cfg['Servers'][1]['userconfig'] = 'pma_userconfig';
    $cfg['Servers'][1]['table_info'] = 'pma_table_info';
    $cfg['Servers'][1]['column_info'] = 'pma_column_info';
    $cfg['Servers'][1]['history'] = 'pma_history';
    $cfg['Servers'][1]['recent'] = 'pma_recent';
    $cfg['Servers'][1]['table_uiprefs'] = 'pma_table_uiprefs';
    $cfg['Servers'][1]['tracking'] = 'pma_tracking';
    $cfg['Servers'][1]['table_coords'] = 'pma_table_coords';
    $cfg['Servers'][1]['pdf_pages'] = 'pma_pdf_pages';
    $cfg['Servers'][1]['designer_coords'] = 'pma_designer_coords';
    
  9. 保存并关闭文件。

重要信息-PMA在登录时加载配置,对其进行评估并将其存储到会话数据中,这样在执行以下操作之前消息不会消失:

  1. 注销phpMyAdmin并重新登录

问题解决了。

如果你来到这里,并且你正在使用Debian/Ubuuntu(或任何其他基于dpkg的发行版),请执行以下命令:

sudo dpkg-reconfigure phpmyadmin

phpmyadmin包包含为您执行此操作的脚本,它所需要的只是一个具有权限的用户。当然,如果您以root用户身份登录,则不需要sudo。

编辑:可能值得尝试删除当前phpmyadmin用户。

只需注释掉config.inc.php中的整个"高级功能的用户"answers"高级phpMyAdmin功能"代码块。

您最近更改了MySQL Server的根密码吗?如果答案是YES,那么这就是phpMyAdmin控制台中出现错误/警告的原因。要解决这个问题,只需编辑phpMyAdmin的config-db.php文件并设置正确的数据库密码。

在我看来,第一个答案太混乱了,第二个答案对我不起作用。所以:

在基于Linux的服务器中,文件通常位于:

/etc/phpmyadmin/config-db.php

或:

/etc/phpMyAdmin/config-db.php

示例:(我的文件看起来是这样的,我将用户从phpmyadmin更改为admin,这是我通过phpmyadmin创建的用于维护数据库的用户名,并输入了相应的密码

$dbuser='phpmyadmin';
$dbpass=''; // set current password between quotes ' '
$basepath='';
$dbname='phpmyadmin';
$dbserver='';
$dbport='';
$dbtype='mysql';

学分:http://tehnoblog.org/phpmyadmin-error-connection-for-controluser-as-defined-in-your-configuration-failed/

这对我在Ubuntu 16.04:下使用phpmyadmin有效

我编辑了/etc/phpmyadmin/config.inc.php,并更改了以下两行:

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

这对我在Ubuntu 16.04:下使用phpmyadmin有效

我编辑了/etc/phpmyadmin/config.inc.php并更改了以下2行:

$cfg['Servers'][$i]['controluser'] = 'pma'; 
$cfg['Servers'][$i]['controlpass'] = 'pass pma'; 

在Ubunbtu上。

Ben的消息很接近,但问题不是根密码,我发现的问题是我在安装phpmyadmin数据库时为它创建了一个密码。此密码未携带到ubuntu上的安装中,因此变量$dbpass='';中的设置文件为空,而不是您设置的密码。

  1. 要在命令行检查您是否有正确的密码,请使用以下命令登录到mysql:mysql-u phpmyadmin-p尝试一个空白密码,我发现我被拒绝访问,请使用您在安装过程中设置的密码再次输入该命令。如果它登录,您现在就知道密码是什么了
  2. 编辑/etc/phpadmin/config db.php并更改$dbpass=''$dbpass='您的密码'并保存文件
  3. 编辑/etc/dbconfig-common/phpmyadmin.conf更改dbc_dbpass='';todbc_dbpass='您的密码'并保存文件。关闭浏览器并重新加载,您现在会发现消息已经过时

"为了让它再次工作,我刚刚删除了文件

ib_logfile0和

ib_logfile1.

来自:

/Applications/MAMP/db/mysql56/ib_logfile0"

在XAMPP上它的XAMPP/xamplepfiles/var/mysql

从PHP获得此警告:mysqli_connect():(HY000/2002):连接拒绝ubuntu /etc/phpmyadmin/config-db.php 上的

确保控制用户的密码与您的config.inc.php匹配

也适用于河豚太短错误

edit /var/lib/phpmyadmin/blowfish_secret.inc.php并使密钥更长

问题是PhpMyAdmin控制用户(通常为:pma)密码与mysql用户:pma(同一用户)密码不匹配。

为了修复它,1.在此设置用户pma的密码:

"C:''examplep''phpMyAdmin''config.inc.php"

$cfg['Servers'][$i]['controlpass']='your_new_phpmyadmin_pass';

(应该像32号线上一样)

然后转到mysql,以root身份登录,转到:(我使用phpmyadmin转到这里)

数据库:mysql»表:用户

编辑用户:pma

从功能列表(左列)中选择"密码",并在右列设置"your_new_phpmyadmin_pass",然后点击go。

重新启动mysql服务器。

现在这个信息应该消失了。

我只是简单地对config.inc.php文件进行更改。此链接中有密码错误$cfg['Servers'][$i]['password']='your password';现在它完美地发挥了作用。

etc/phpmyadmin/config.inc.php中的ubuntu 18.04上注释所有块

可选:用户在ubuntu上使用高级功能

,这些步骤对我有效…

1. sudo gedit /etc/phpmyadmin/config.inc.php.
2. uncomment[remove(/)]  following lines :-
    $cfg['Servers'][$i]['AllowNoPassword'] = TRUE;
3. comment[add(/)] following lines :-     
   //$cfg['Servers'][$i]['controluser'] = $dbuser;
   //$cfg['Servers'][$i]['controlpass'] = $dbpass;

所以我意外删除了phpmyadmin用户,但没有删除表,目前唯一有效的答案是:https://stackoverflow.com/a/40632599/15821993

在终端中打开目录/etc/phpmyadmin/并使用

sudo nano config-db.php

以root身份打开(其他用户无法访问)

在那里你可以找到被删除用户的用户名和密码。如果你想更改它们,你可以随心所欲,保护文件,或者在下一步中重用它们。

在您获得这些信息或更改凭据后:登录到phpmyadmin控制台,并使用与文件中相同的用户名和密码为数据库phpmyadmin创建一个新用户。只将此数据库的所有权限授予用户,您就完成了。

注销并再次登录phpMyAdmin,所有错误都消失了。

今天刚刚安装了XAMPP,我决定为mysql使用一个不同的默认端口,这太可怕了。确保将这些行添加到phpMyAdmin config.inc.php:

$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['port'] = 'port';`