mysql - 问题 无法登录MySQL服务器

标签 mysql ubuntu phpmyadmin lamp

有适用于 Linux 5.6.12-0 的 XAMPP 。当我启动 Xammp 时,它显示以下内容:

Starting XAMPP for Linux 5.6.12-0...
XAMPP: Starting Apache...ok.
XAMPP: Starting MySQL...ok.
XAMPP: Starting ProFTPD...ok.

但是当你访问http://127.0.0.1/phpmyadmin/时,它说:

 Cannot log in to the MySQL server
 Connection for controluser as defined in your configuration failed.

我的 cinfig.inc.php :

<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
 * phpMyAdmin sample configuration, you can use it as base for
 * manual configuration. For easier setup you can use setup/
 *
 * All directives are explained in documentation in the doc/ folder
 * or at <http://docs.phpmyadmin.net/>.
 *
 * @package PhpMyAdmin
 */

/*
 * This is needed for cookie based authentication to encrypt password in
 * cookie
 */
$cfg['blowfish_secret'] = 'xampp'; /* YOU SHOULD CHANGE THIS FOR A MORE SECURE COOKIE AUTH! */

/*
 * Servers configuration
 */
$i = 0;

/*
 * First server
 */
$i++;
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = 'brahim';
$cfg['Servers'][$i]['password'] = '';
/* Server parameters */
//$cfg['Servers'][$i]['host'] = 'localhost';
//$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = true;
$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';
/* Contrib / Swekey authentication */
// $cfg['Servers'][$i]['auth_swekey_config'] = '/etc/swekey-pma.conf';

/*
 * End of servers configuration
 */

/*
 * Directories for saving/loading files from server
 */
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';

/**
 * Whether to display icons or text or both icons and text in table row
 * action segment. Value can be either of 'icons', 'text' or 'both'.
 */
//$cfg['RowActionType'] = 'both';

/**
 * Defines whether a user should be displayed a "show all (records)"
 * button in browse mode or not.
 * default = false
 */
//$cfg['ShowAll'] = true;

/**
 * Number of rows displayed when browsing a result set. If the result
 * set contains more rows, "Previous" and "Next".
 * default = 30
 */
//$cfg['MaxRows'] = 50;

/**
 * disallow editing of binary fields
 * valid values are:
 *   false    allow editing
 *   'blob'   allow editing except for BLOB fields
 *   'noblob' disallow editing except for BLOB fields
 *   'all'    disallow editing
 * default = blob
 */
//$cfg['ProtectBinary'] = 'false';

/**
 * Default language to use, if not browser-defined or user-defined
 * (you find all languages in the locale folder)
 * uncomment the desired line:
 * default = 'en'
 */
//$cfg['DefaultLang'] = 'en';
//$cfg['DefaultLang'] = 'de';

/**
 * How many columns should be used for table display of a database?
 * (a value larger than 1 results in some information being hidden)
 * default = 1
 */
//$cfg['PropertiesNumColumns'] = 2;

/**
 * Set to true if you want DB-based query history.If false, this utilizes
 * JS-routines to display query history (lost by window close)
 *
 * This requires configuration storage enabled, see above.
 * default = false
 */
//$cfg['QueryHistoryDB'] = true;

/**
 * When using DB-based query history, how many entries should be kept?
 *
 * default = 25
 */
//$cfg['QueryHistoryMax'] = 100;

/**
 * Should error reporting be enabled for JavaScript errors
 *
 * default = 'ask'
 */
//$cfg['SendErrorReports'] = 'ask';

/*
 * You can find more configuration options in the documentation
 * in the doc/ folder or at <http://docs.phpmyadmin.net/>.
 */
?>

最佳答案

由于您使用的是 XAMPP 包,因此这一切都应该由该安装程序进行配置,任何手动更改都可能与 XAMPP 包完成的一些幕后魔法发生冲突。

话虽如此,有些事情在这里毫无意义。

您的auth_type是“cookie”,因此登录时系统会提示您输入用户名和密码。这两行 $cfg['Servers'][$i]['user'] = 'brahim';$cfg['Servers'][$i]['password'] = '';根本不使用,因此您可以安全地删除它们。这不会直接影响您的登录能力,但会导致您对密码所在位置产生混淆,我发现最好减少混淆。

您的问题是控制用户,行 $cfg['Servers'][$i]['controluser'] = 'pma';$cfg['Servers'][$i]['controlpass'] = '';将它们注释掉(在每行开头放置 //)一段时间,以暂时绕过高级配置功能。这应该允许您使用常用的 MySQL 用户名和密码登录。

我在您提到的评论中看到您不知道密码。默认情况下,MySQL 附带用户名“root”和空白密码。尝试一下。如果它不起作用,则必须重置它。请参阅https://stackoverflow.com/a/18427124/2385479 -- 至少在 Windows 上有一个 XAMPP 提供的实用程序来重置密码。我找不到任何关于在 Linux 上找到它的位置的引用,但请查看您的 XAMPP 安装文件夹。如果做不到这一点,MySQL manual has directions或者 Stackoverflow 上已经有很多答案了。通用指令是停止 mysqld,然后使用 --skip-grant-tables 重新启动它。 ,手动更改密码,然后正常重新启动 mysqld ——但是您应该查看该链接,因为大多数系统都有特定的说明。

此时,您可以正常使用phpMyAdmin,也可以继续恢复配置存储使用的高级功能。

无论如何,回到你的实际问题,一旦你成功登录,检查是否有 pma用户,如果有,只需更改密码。如果没有,请使用 phpMyAdmin documentation 中的 SQL 语句创建一个:GRANT SELECT, INSERT, UPDATE, DELETE ON <pma_db>.* TO 'pma'@'localhost' IDENTIFIED BY 'pmapass'; 。知道密码后,编辑 config.inc.php并将其插入“controlpass”变量,取消注释“controlpass”和“controluser”,然后重试。

关于mysql - 问题 无法登录MySQL服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34913086/

相关文章:

perl - 在字符串 eq 中使用未初始化的值 $e2 并找到 : warning:

mysql - SQL通配符下划线字符不返回结果

php - 手动更新 WordPress 数据库

linux - 错误 "syntax error near unexpected token ' &' - 试图从应用程序中的命令行运行文件

sql - 从具有非唯一外键的表中选择 N 行

windows - 如何在 WSL 上安装 PyGears - Ubuntu 20.04 LTS

mysql - phpmyadmin - 获取 FK 有关删除和更新操作的信息

php - 在我的计算机上使用 PHP 从 MySQL InnoDB 数据库 [XAMPP] 获取结果比在其他计算机上花费的时间长得多

mysql - 需要对索引进行一些说明(WHERE、JOIN)

php - 使用php显示来自多个表的数据