为什么本地主机的phpMyAdmin出现如下MySQL连接错误?
问题描述
phpMyAdmin连接MySQL时触发以下错误:
无法连接:无效设置。 mysqli_real_connect(): 服务器请求了客户端未知的认证方法[caching_sha2_password] mysqli_real_connect(): (HY000/2054): 服务器请求了客户端未知的认证方法
phpMyAdmin尝试连接MySQL服务器,但服务器拒绝了连接。您应检查配置中的主机、用户名和密码,确保其与MySQL服务器管理员提供的信息一致。
解决方案
该错误源于MySQL 8.0+版本默认启用caching_sha2_password认证插件,而旧版phpMyAdmin或PHP mysqli扩展不兼容此认证方式,可通过以下两种方式解决:
方法1:修改MySQL用户认证插件(推荐)
- 登录MySQL服务器(使用root或有权限的账号):
mysql -u root -p
- 执行SQL语句将目标用户的认证方式切换为
mysql_native_password(替换示例中的用户名、主机和密码):
ALTER USER 'your_username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password'; FLUSH PRIVILEGES;
- 重启MySQL服务:
# Linux系统 sudo systemctl restart mysql # Windows系统 net stop mysql net start mysql
方法2:调整phpMyAdmin配置(备选)
若不想修改MySQL用户认证规则,可尝试在phpMyAdmin的config.inc.php文件中添加以下配置:
$cfg['Servers'][$i]['ssl'] = false;
注:此方法兼容性有限,优先使用方法1。
内容的提问来源于stack exchange,提问作者Syed Mohammad Ali
相关产品推荐
相关产品推荐

