求助:XAMPP环境下mysqli::real_connect() 1045数据库访问被拒错误
解决MySQL 'pma'用户本地访问被拒绝的问题
核心错误信息
mysqli::real_connect(): (HY000/1045): Access denied for user 'pma'@'localhost' (using password: YES)
环境说明
- Windows 10系统
- 使用Code::Blocks开发C++项目,需实现MySQL数据库导出功能
- 通过XAMPP搭建本地Web服务器环境配合使用
解决步骤
核对phpMyAdmin配置文件
找到XAMPP安装目录下的phpMyAdmin/config.inc.php,重点检查以下配置项:$cfg['Servers'][$i]['user'] = 'pma'; $cfg['Servers'][$i]['password'] = '你的pma用户密码'; $cfg['Servers'][$i]['host'] = 'localhost';确保密码与MySQL中
pma用户的实际密码完全一致,没有多余空格或拼写错误。验证并修复MySQL中pma用户的权限
- 打开XAMPP控制面板,启动MySQL服务后,点击「Shell」进入命令行。
- 输入
mysql -u root -p登录MySQL(root默认无密码则直接回车)。 - 执行SQL查看pma用户信息:
SELECT user, host, authentication_string FROM mysql.user WHERE user = 'pma'; - 若用户不存在/密码不匹配/host不是
localhost,执行以下命令修复:-- 创建或更新pma用户密码(替换为你要设置的密码) CREATE USER IF NOT EXISTS 'pma'@'localhost' IDENTIFIED BY 'your_pma_password'; -- 授予phpMyAdmin必要权限 GRANT ALL PRIVILEGES ON *.* TO 'pma'@'localhost'; FLUSH PRIVILEGES;
完成后将config.inc.php中的密码同步为上述设置的密码。
确认MySQL服务正常运行
检查XAMPP控制面板中MySQL服务状态,确保显示「Running」,若未启动则点击「Start」启动服务。排查防火墙拦截
暂时关闭Windows防火墙或第三方安全软件,测试是否能正常连接,若恢复正常则添加MySQL程序到防火墙白名单。
内容的提问来源于stack exchange,提问作者suborno das
相关产品推荐
相关产品推荐

