首页 文章

配置中定义的controluser连接失败

提问于
浏览
15

我已经调查了this但是因为我在Ubuntu 10.04而不是XAMPP上运行并且已经创建了phpmyadmin数据库并且我可以通过终端使用root和phpmyadmin用户登录 .

我如何安装:sudo apt-get install lamp-server ^ sudo apt-get install phpmyadmin

我可以使用root和phpmyadmin用户在终端上本地登录 . 我可以查看phpmyadmin登录页面 . 我发布到服务器的phpinfo.php页面有效 .

  • Ubuntu版本10.04.4 Lucid Lynx

  • Apache 2.2.14

  • MySQL 5.1.73

  • PHP 5.3.6

  • Phpmyadmin 3.3.2

9 回答

  • 12

    由于您可以在终端上以控制用户身份登录,因此您的配置文件很可能不包含控制用户的正确用户名或密码 .

    在文本编辑器中打开 config.inc.php 并查看controluser和controlpass行 - 确保它们与您成功使用的用户名和密码完全匹配 . 尝试完全注释掉这两行,看看是否收到不同的错误消息 .

    如果您已使用包管理器进行安装,请注意配置文件在 /etc/phpmyadmin 中展开,如果您手动添加这些行,则它们可能会被另一个配置文件覆盖 . 尝试 grep -Ri controluser /etc/phpmyadmin/* 以查看它是否出现在多个文件中 .

    由于您已经对配置文件进行了've used the package manager, you should let it handle configuring the database. Try removing any edits you'并且正在运行 dpkg-reconfigure -plow phpmyadmin (这是在命令提示符下运行的shell命令);这将重新配置phpmyadmin包,并询问您是否要允许dbconfig-common为您和controluser创建phpMyAdmin表 .

  • 4

    只是 uncomment 这一行:

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

    试试吧 .

  • 1

    可能的问题:更新了mySQL用户

    当您在phpmyadmin中连接的用户已在mySQL中更新时,也会发生这种情况 . 我刚刚卸载/更新/重新安装phpmyadmin并同时更改了一些mySQL设置 .

    修复此问题:更新config-db.php

    修复是使用正确的登录凭据(用户名,密码等)更新config-db.php文件

    在Ubuntu 12.04中,它位于/etc/phpmyadmin/config-db.php .

    一些更详细的说明在http://tehnoblog.org/phpmyadmin-error-connection-for-controluser-as-defined-in-your-configuration-failed/

  • 8

    通过将协议切换到tcp并连接到'127.0.0.1'而不是'localhost',我已成功连接 . 即使MySql守护程序套接字正在运行,仍然无法通过Unix Socket连接 .

  • 1

    有2个错误:

    1. Connection for controluser as defined in your configuration failed
    解:
    一个 . 打开终端:sudo gedit /etc/phpmyadmin/config.inc.php

    湾并取消注释以下行(可能两次将取决于版本):$ cfg ['Servers'] [$ i] ['AllowNoPassword'] = TRUE;

    C . 并注释以下几行(可能两次将取决于版本):// $ cfg ['Servers'] [$ i] ['controluser'] = $ dbuser; // $ cfg ['Servers'] [$ i] ['controlpass'] = $ dbpass;

    2. Access denied for user 'root'@'localhost'

    这将在您打开phpmyadmin或在终端上使用sudo命令(而不是root用户)打开mysql时出现 . 此错误是由root用户引起的 . 这个错误背后的共鸣是你当前的ubuntu用户没有在终端打开mysql的优势 . 如果你用sudo命令打开mysql,它将打开但不能从你当前的用户打开 . 例如:

    lenovo @ lenovo-ThinkPad-E460:/ etc $ mysql -u root -p输入密码:ERROR 1698(28000):拒绝访问用户'root'@'localhost'

    这里目前的ubuntu用户是联想 . 因此,您必须为root用户授予权限 . 处理:

    1 - 首先,连接sudo mysql

    sudo mysql -u root

    2 - 检查数据库中的帐户

    SELECT User,Host FROM mysql.user;

    +------------------+-----------+
    | User             | Host      |
    +------------------+-----------+
    | admin            | localhost |
    | debian-sys-maint | localhost |
    | magento_user     | localhost |
    | mysql.sys        | localhost |
    | root             | localhost |
    

    3 - 删除当前root @ localhost帐户

    mysql> DROP USER'root'@'localhost';查询OK,0行受影响(0,00秒)

    4 - 重新创建您的用户

    mysql> CREATE USER'root'@'%'IDENTIFIED BY'';查询OK,0行受影响(0,00秒)

    5 - 为您的用户授予权限,不要忘记刷新权限

    mysql>授予所有特权 . TO 'root' @ '%';查询OK,0行受影响(0,00秒)

    mysql> FLUSH PRIVILEGES;查询OK,0行受影响(0,01秒)

    6 - 退出mysql并尝试在没有sudo的情况下重新连接

    我希望这将有所帮助 . 现在你可以在没有密码的情况下打开phpmyadmin了 .

  • 6

    创建一个数据库phpmyadmin

    打开文件

    /etc/phpmyadmin/config-db.php
    

    在config-db.php文件中设置root密码 .

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

    问题将得到解决 .

  • 0

    在我的情况下,我使用套接字连接 . 通过设置$ cfg ['Servers'] [$ i] ['controlhost'] =''; (所以要清空)消息'配置中定义的控制用户连接失败'消失了 . 我认为原因是如果你设置'controlhost'phpMyAdmin尝试 Build 一个新的数据库连接,从而忽略了套接字 .

    在您找到的代码中:

    if (! empty($cfg['Server']['controlhost'])
                || ! empty($cfg['Server']['controlport'])
    

    在if块的末尾, Build 新连接 .

  • 0

    首先确保您在此文件中具有正确的 usernamepassword

    /etc/dbconfig-common/phpmyadmin.conf
    

    如_1513844中所述:

    ## database access settings in php format
    ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf
    ## by /usr/sbin/dbconfig-generate-include
    

    usernamepassword 用于访问 phpmyadmin database .
    因此, phpmyadmin database 应该有一个 user ,其名称和密码分配给它至少 Database-specific privileges

    那为我解决了....

    上:

    • 服务器:通过UNIX套接字的Localhost

    • 服务器类型:MySQL

    • 服务器版本:5.7.16 - MySQL社区服务器(GPL)

  • 0

    如果你在xammp的窗口上转到 C:\xammp\phpMyAdmin\ config.inc ,打开它并找到这一行,现在确保

    /* User for advanced features*/
    $cfg['servers'][$i]['controluser'] = 'pma';
    $cfg['servers'][$i]['controlpass'] = '';
    

    phpMyAdmin数据库中的用户pma用户名和密码是相同的

    阅读phpmyadmin documentation

相关问题