配置中定义的 controluser 的 phpMyAdmin 连接失败
Posted
技术标签:
【中文标题】配置中定义的 controluser 的 phpMyAdmin 连接失败【英文标题】:phpMyAdmin Connection for controluser as defined in your configuration failed 【发布时间】:2016-01-27 08:44:02 【问题描述】:所以,今天我第一次在 Ubuntu 15.10 上安装了 XAMPP/LAMPP。 Apache 服务器工作正常,但是当我尝试转到“localhost/phpmyadmin”时,出现以下错误:
相信我,我搜索了整个互联网、堆栈溢出、apache 朋友等,但没有一个给定的解决方案对我有用......所以这是我的 config.inc.php 文件:
<?php
$i++;
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
/* Server parameters */
//$cfg['Servers'][$i]['host'] = 'localhost';
//$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = true;
/**
* phpMyAdmin configuration storage settings.
*/
/* User used to manipulate with storage */
// $cfg['Servers'][$i]['controlhost'] = '';
// $cfg['Servers'][$i]['controlport'] = '';
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = '';
/* Storage database and tables */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
$cfg['Servers'][$i]['relation'] = 'pma__relation';
$cfg['Servers'][$i]['table_info'] = 'pma__table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma__column_info';
$cfg['Servers'][$i]['history'] = 'pma__history';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
$cfg['Servers'][$i]['tracking'] = 'pma__tracking';
$cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
$cfg['Servers'][$i]['recent'] = 'pma__recent';
// $cfg['Servers'][$i]['favorite'] = 'pma__favorite';
// $cfg['Servers'][$i]['users'] = 'pma__users';
// $cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
// $cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
// $cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
// $cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
// $cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
// $cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';
/* Contrib / Swekey authentication */
// $cfg['Servers'][$i]['auth_swekey_config'] = '/etc/swekey-pma.conf';
所以你可以看到我的用户 = root 和密码是空的。但这根本行不通,我尝试更改用户/密码,尝试更改 controluser 和 controlpass,但似乎没有任何效果。你知道我该如何解决这个问题吗?
【问题讨论】:
您是否有一个没有密码的用户“pma”,在这个 mysql 服务器中定义?因为您的配置要求 phpMyAdmin 尝试与此类用户建立连接。 不,我没有在 MySQL 服务器中定义任何东西?你能解释一下我该怎么做吗? 在下面查看我的新答案。 【参考方案1】:sudo chown -R mysql:mysql /var/lib/mysql
为我工作。
【讨论】:
【参考方案2】:首先注释掉 config.inc.php 中的 controluser 和 controlpass 行。然后您就可以使用 root 登录,并使用“权限”或“用户帐户”菜单添加此 pma 用户。在documentation中有解释。
【讨论】:
当我在 config.inc.php 中注释掉 'controluser' 和 'controlpass' 并尝试以 root 身份登录时,“配置中定义的 controluser 连接失败”错误消失但“无法登录进入 MySQL 服务器”。 这意味着你没有正确的登录信息,或者MySQL服务器没有运行。 好吧,我没有从 XAMPP 管理器运行 MySQL 服务器。谢谢你的回答,你是传奇。花了这么多时间...无论如何,非常感谢。【参考方案3】:我遇到了类似的问题。我可以按照视频教程 https://www.youtube.com/watch?v=NSX-ib2aMDQ
进行修复我刚刚将 skip-grant-tables 添加到 my.ini 文件中。下面是 my.ini 文件的示例部分。
# Example MySQL config file for small systems.
#
# This is for a system with little memory (<= 64M) where MySQL is only used
# from time to time and it's important that the mysqld daemon
# doesn't use much resources.
#
# You can copy this file to
# C:/xampp/mysql/bin/my.cnf to set global options,
# mysql-data-dir/my.cnf to set server-specific options (in this
# installation this directory is C:/xampp/mysql/data) or
# ~/.my.cnf to set user-specific options.
#
# In this file, you can use all long options that a program supports.
# If you want to know which options a program supports, run the program
# with the "--help" option.
# The following options will be passed to all MySQL clients
[client]
# password = your_password
port=3306
socket="C:/xampp/mysql/mysql.sock"
# Here follows entries for some specific programs
# The MySQL server
default-character-set=utf8mb4
[mysqld]
skip-grant-tables
port=3306
socket="C:/xampp/mysql/mysql.sock"
basedir="C:/xampp/mysql"
tmpdir="C:/xampp/tmp"
datadir="C:/xampp/mysql/data"
pid_file="mysql.pid"
# enable-named-pipe
key_buffer=16M
max_allowed_packet=1M
sort_buffer_size=512K
net_buffer_length=8K
read_buffer_size=256K
read_rnd_buffer_size=512K
myisam_sort_buffer_size=8M
log_error="mysql_error.log"
【讨论】:
【参考方案4】:sudo reboot
如果不自动启动则启动mysql
sudo service mysql start
【讨论】:
【参考方案5】:嘿伙计无需更改任何文件.. 它基本上是因为你的 mysqli 没有运行.. 检查控制面板中的 "action" 列。您应该看到“开始”意味着它关闭,您的 php 无法与睡眠数据库门锁定.. 这就是为什么
解决它... 打开您安装 xampp 应用程序的文件夹,然后单击 xampp 启动,然后接受所有必要的批准..
【讨论】:
【参考方案6】:这也发生在我身上。但这是我修复它的方法。每当它给您该错误时,只需重新启动您的浏览器并再次登录 phpMyAdmin。无需代码,无需配置操作
【讨论】:
【参考方案7】:根据您发布的config.inc.php
,您的root 用户密码是1234(正如我在$cfg['Servers'][$i]['password'] ='1234'
; 行中看到的那样),但稍后在文件中定义控制用户时,您使用空白密码。
我建议设置一个实际的 controluser,其权限比 root 少,但快速解决方法是编辑并制作它
更改:$cfg['Servers'][$i]['controlpass'] = '1234';
要创建 controluser 帐户,请使用类似于以下的 SQL 命令:
GRANT SELECT, INSERT, UPDATE, DELETE ON <pma_db>.* TO 'pma'@'localhost' IDENTIFIED BY 'pmapass';
将您的 phpMyAdmin 配置存储数据库的名称(可能是“phpmyadmin”)替换为 <pma_db>
,并将自定义密码替换为 pmapass.
【讨论】:
【参考方案8】:清除 phpmyadmin 并再次安装对我有用。
使用此命令清除 phpmyadmin:
sudo apt-get purge --auto-remove phpmyadmin
然后重新安装:
sudo apt-get install phpmyadmin
【讨论】:
【参考方案9】:重新安装phpmyadmin并尝试
代码:
sudo dpkg-reconfigure phpmyadmin
如果这不起作用,请尝试 代码:
sudo apt-get --purge remove phpmyadmin
然后重新安装,如果这不起作用,我愿意打赌没关系,做 代码:
sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf.d/phpmyadmin.conf
然后重启apache 代码:
##sudo /etc/init.d/apache reload
sudo service apache2 reload
【讨论】:
【参考方案10】:找到文件config.default.php
并替换
$cfg['Servers'][$i]['host'] = 'localhost';
与
$cfg['Servers'][$i]['host'] = '127.0.0.1';
然后登录。
【讨论】:
【参考方案11】:取消注释: ...
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
/* Server parameters */
$cfg['Servers'][$i]['host'] = 'localhost'; //<--UNCOMMENT THIS
$cfg['Servers'][$i]['connect_type'] = 'tcp'; //<--UNCOMMENT THIS
...
因为您需要通过 localhost 进行连接。
【讨论】:
感谢您的回答。我现在试了一下,还是不行。 好的。您的配置文件必须有其他内容。如果我评论这两行,我的机器上会出现完全相同的错误。以上是关于配置中定义的 controluser 的 phpMyAdmin 连接失败的主要内容,如果未能解决你的问题,请参考以下文章
无法打开 PhpMyAdmin(配置中定义的 controluser 连接失败。)
配置中定义的 controluser 的 phpMyAdmin 连接失败
XAMPP/LAMPP“配置中定义的 controluser 连接失败”