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

121 php xampp phpmyadmin

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

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

在我安装XAMPP之前,我安装了一个MySQL数据库并且有一个密码.我更改并将密码放在config.inc.php中用于MySQL,我收到此错误:

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

当我尝试访问index.php时,XAMPP安装似乎有问题.我该怎么做才能解决这个问题?

Dav*_*dom 236

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

    $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';
    
    Run Code Online (Sandbox Code Playgroud)
  9. 保存并关闭文件.

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

  1. 注销phpMyAdmin并再次登录

问题解决了.

  • 出于某种原因,我的phpmyadmin版本的表名为"pma__bookmark",依此类推2"下划线".如果有人有相同的,那么你应该相应地编辑"config.inc.php".BTW配置文件位于Ubuntu的"/ etc/phpmyadmin"目录中 (13认同)
  • 在Ubuntu 14.04上,create_tables.sql的位置在/usr/share/doc/phpmyadmin/examples/create_tables.sql.gz中. (6认同)
  • 这是一个很好的答案(我的第100个`+`)).但是,我没有找到步骤4中指向的*examples*目录.相反它在这里:`/ usr/share/doc/phpmyadmin/examples`然后我找到了压缩的sql文件:`create_tables.sql.gz `. (5认同)
  • +1"登出并重新登录".我浪费了五分钟没有意识到我必须那样做. (3认同)
  • 我没有找到 config.inc.php (2认同)

Or *_*hen 130

如果您使用的是Debian/Ubuntu(或任何其他基于dpkg的发行版),请执行以下命令:

sudo dpkg-reconfigure phpmyadmin
Run Code Online (Sandbox Code Playgroud)

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

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

  • 在配置期间,我必须为控制用户键入"pma"而不是"phpmyadmin"才能使其工作. (17认同)
  • 这对我有用,我只需重新安装它询问的数据库.谢谢.(Ubuntu 12.04) (2认同)
  • 谢谢,你救了我的一天:)呵呵 (2认同)
  • 在为我工作后,删除“ phpmyadmin”用户_first_并运行“ sudo dpkg-reconfigure phpmyadmin”。谢谢! (2认同)

str*_*eak 23

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

  • 这将是config.inc.php (2认同)

bom*_*ben 6

您最近是否更改了MySQL Server的root密码?如果答案为“是”,则这是phpMyAdmin控制台内部错误/警告的原因。要解决此问题,只需编辑phpMyAdmin的config-db.php文件并设置正确的数据库密码。

我认为第一个答案太混乱了,第二个答案对我没有用。所以:

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

/etc/phpmyadmin/config-db.php
Run Code Online (Sandbox Code Playgroud)

要么:

/etc/phpMyAdmin/config-db.php
Run Code Online (Sandbox Code Playgroud)

示例:(“我的文件”看起来像这样,我将用户从更改phpmyadminadmin,目的是通过phpmyadmin创建的用于维护数据库的用户名,并输入了适当的密码。

$dbuser='phpmyadmin';
$dbpass=''; // set current password between quotes ' '
$basepath='';
$dbname='phpmyadmin';
$dbserver='';
$dbport='';
$dbtype='mysql';
Run Code Online (Sandbox Code Playgroud)

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


小智 5

这对我在 Ubuntu 16.04 下的 phpmyadmin 有用:

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

$cfg['Servers'][$i]['controluser'] = 'root'; 
$cfg['Servers'][$i]['controlpass'] = 'thepasswordgiventoroot'; 
Run Code Online (Sandbox Code Playgroud)