首页 文章

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

提问于
浏览
113

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

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

13 回答

  • 226
    • 在浏览器中打开phpMyAdmin并以root用户身份登录 .

    • 创建一个名为 phpmyadmin 的数据库

    • 创建一个名为 pma 的用户,并将"host"设置为Web服务器的主机名或IP地址(如果Web服务器和MySQL在同一个框中使用 localhost ),请记下密码,并授予新用户完全控制权在 phpmyadmin 数据库上 . 建议此用户无权访问此数据库以外的任何内容 .

    • 转到phpMyAdmin安装目录,在该目录中应找到名为 sql 的子目录 .

    • sql 中,您将找到一个名为 create_tables.sql 的文件 . 在文本编辑器中打开它 .

    • 在phpMyAdmin中,选择 phpmyadmin 数据库并单击"SQL"选项卡 .

    • create_tables.sql 中的整个文本复制/粘贴到文本框中,然后运行查询 .

    • 打开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';
    
    • 保存并关闭文件 .

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

    • 退出phpMyAdmin并再次登录

    问题解决了 .

  • 0

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

    sudo dpkg-reconfigure phpmyadmin
    

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

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

  • 22

    只需在 config.inc.php 中注释掉整个"User for advanced features"和"Advanced phpMyAdmin features"代码块 .

  • 2

    这对我来说在Ubuntu 16.04下使用phpmyadmin:

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

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

    在Ubunbtu .

    Ben的消息很接近,但问题不是root密码,我发现的问题是我在安装phpmyadmin数据库时为其创建了密码 . 这个密码不会被带到ubuntu的安装中,所以变量$ dbpass ='';在数据库设置文件中为空,而不是您设置的密码 .

    • 要在命令行中使用以下命令检查您是否拥有正确的密码登录mysql:mysql -u phpmyadmin -p尝试使用空白密码我发现访问被拒绝,请使用您在安装过程中设置的密码再次输入命令 . 如果它登录你现在知道密码是什么 .

    • 编辑 /etc/phpadmin/config-db.php 并将 $dbpass=''; 更改为 $dbpass='Your Password'; 并保存文件 .

    • 编辑 /etc/dbconfig-common/phpmyadmin.conf 更改 dbc_dbpass='' ;到 dbc_dbpass='Your Password'; 并保存文件 . 关闭浏览器并重新加载,您现在会发现消息已经消失 .

  • 122

    您最近是否更改了MySQL Server root密码?如果回答是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/

  • 0

    “为了让我再次工作,我只是删除了文件

    ib_logfile0和

    ib_logfile1 .

    来自:

    / Applications / MAMP / db / mysql56 / ib_logfile0“

    在XAMPP上它的Xampp / xamppfiles / var / mysql

    来自PHP Warning: mysqli_connect(): (HY000/2002): Connection refused

  • 0

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

    要修复它,1 . 在此处为用户pma设置所需的密码:

    “C:\ xampp \ phpMyAdmin \ config.inc.php”$ cfg ['Servers'] [$ i] ['controlpass'] ='your_new_phpmyadmin_pass'; (应该像第32行一样)

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

    数据库:mysql»表:用户

    编辑用户:pma

    从功能列表(左栏)中选择“密码”,在右栏中设置“your_new_phpmyadmin_pass”并点击go .

    重启mysql服务器 .

    现在消息应该消失 .

  • 2

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

  • 3

    在ubuntu /etc/phpmyadmin/config-db.php上

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

    也为河豚太短的错误

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

  • 4

    我遇到过同样的问题 . 在我的情况下,重启后没有启动Mysql . 一旦我开始mysql“服务mysql启动”一切正常 .

  • 0

    在ubuntu 18.04中 etc/phpmyadmin/config.inc.php 评论所有块

    可选:用于高级功能的用户

  • -1

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

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

相关问题