“在configuration中定义的controluser连接失败”与XAMPP中的phpMyAdmin一起使用

我刚刚在Windows XP机器上安装了XAMPP,并且出现错误消息:

在configuration中定义的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身份login。
  2. 创build一个名为phpmyadmin的数据库
  3. 创build一个名为pma的用户,并将“主机”设置为您的Web服务器的主机名或IP地址(如果Web服务器和MySQL位于同一个机器上,则使用localhost ),记下密码并授予新用户控制phpmyadmin数据库。 build议此用户不能访问此数据库以外的任何其他用户。
  4. 转到phpMyAdmin安装目录,在那里你应该find一个名为sql的子目录。
  5. sql你会发现一个名为create_tables.sql的文件。 在文本编辑器中打开它。
  6. 在phpMyAdmin中,selectphpmyadmin数据库并单击“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. 保存并closures文件。

重要 – PMA在login时加载configuration,对其进行评估并将其存储到会话数据中,以便消息不会消失,直到您执行以下操作:

  1. 注销phpMyAdmin并重新login

问题解决了。

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

 sudo dpkg-reconfigure phpmyadmin 

phpmyadmin包包含脚本来执行这个操作,它只需要一个具有权限的用户。 当然,如果您以根用户身份login,sudo不是必需的。

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

只需在config.inc.php注释整个“User for advanced features”和“Advanced phpMyAdmin features”代码块即可。

在Ubunbtu。

本的消息是密切的,但这不是问题的根密码,我发现的问题是我已经创build了一个phpmyadmin数据库的密码,当我安装它。 这个密码不会在ubuntu上安装,所以variables$ dbpass =''; 在数据库设置文件是空的,而不是你设置的密码。

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

这在Ubuntu 16.04下用phpmyadmin工作:

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

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

你最近有没有改变你的MySQL服务器的根密码? 如果回答是YES,那么这是phpMyAdmin控制台内错误/警告的原因。 要解决这个问题,只需编辑phpMyAdmin的config-db.php文件并设置正确的数据库密码。

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

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

 /etc/phpmyadmin/config-db.php 

要么:

 /etc/phpMyAdmin/config-db.php 

例如:(我的文件看起来像这样,我把用户从phpmyadmin改为admin ,这个用户名是为了通过phpmyadmin维护我的数据库而创build的,并且input了正确的密码。

 $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/

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

要解决它,1.在这里设置用户pma的密码:

“C:\ XAMPP的\ phpMyAdmin的\ config.inc.php文件”

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

(应该像32号线)

然后去mysql,以root身份login,去:(我用phpmyadmin去这里)

数据库:mysql»表:用户

编辑用户:pma

从function列表(左栏)中select“密码”,在右栏设置“your_new_phpmyadmin_pass”,然后点击。

重新启动mysql服务器。

现在消息应该消失。

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

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