“配置中定义的控制用户连接失败”,在 XAMPP 中使用 phpMyAdmin

2022-08-30 07:00:58

我刚刚在我的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;
?>

当我尝试访问索引.php时,XAMPP安装似乎有问题。我该怎么做才能解决此问题?


答案 1
  1. 在浏览器中打开phpMyAdmin并以root身份登录。
  2. 创建一个名为phpmyadmin
  3. 创建一个被调用的用户并将“主机”设置为Web服务器的主机名或IP地址(如果Web服务器和MySQL在同一个盒子上使用),记下密码,并授予新用户对数据库的完全控制权限。建议此用户无权访问此数据库以外的任何内容。pmalocalhostphpmyadmin
  4. 转到phpMyAdmin安装目录,在那里您应该找到一个名为 的子目录。sql
  5. 您将找到一个名为 .在文本编辑器中打开它。sqlcreate_tables.sql
  6. 在phpMyAdmin中,选择数据库,然后单击“SQL”选项卡。phpmyadmin
  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并重新登录

问题解决了。


答案 2

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

sudo dpkg-reconfigure phpmyadmin

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

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


推荐