phpMyAdmin 尝试连接到 MySQL 服务器,但服务器拒绝连接

起因

发现 xampp 默认的 mysql 帐号居然是空密码,虽然只是本地调试环境,但还是不太舒服,因此修改了密码,再次访问 phpmyadmin 就出现此错误了。

分析

这是由于 xampp 中 phpmyadmin 的登陆方式默认是通过记录在配置文件的帐号密码来直接登陆而不是通过登陆界面登陆,但修改过密码后,就与配置文件里的帐号密码不符,因此出错。

解决方法

修改 phpmyadmin 的登录方式为传统的登陆界面登陆,修改 phpmyadmin 根目录下的配置文件 config.inc.php:

/* Authentication type */
//$cfg['Servers'][$i]['auth_type'] = 'config';//注释掉这一行
$cfg['Servers'][$i]['auth_type'] = 'cookie';//添加这一行
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'root';//你也可以顺便给phpmyadmin添加一个密码,默认为空!
/* Server parameters */
//$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = true;

后记

phpmyadmin 的登陆方式有三种,分别是 config、cookie、http 以及 signon。 config 就是直接使用配置文件的信息登陆; cookie 就是使用最广泛的普通登陆方式登陆; http 就是使用 HTTP-Auth 模块来验证登陆,但局限性很大; signon 就是提供第三方接入来验证登陆。

补充2022-02-23:这篇文章可能并不能解决您的问题,请参考另一篇文章:Windows操作系统Xampp-启用对phpMyAdmin的远程访问

修改完配置必须重启XAMPP:sudo /opt/lampp/lampp restart

滚动至顶部