You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP应用无法连接MySQL:XAMPP本地部署遇1045权限拒绝错误

解决XAMPP中PHP网站数据库连接失败(SQLSTATE[HY000] [1045])的问题

这个错误很典型,核心就是数据库用户权限不匹配,或者连接配置和本地MySQL环境不一致,咱们一步步来排查解决:

  • 第一步:检查网站的数据库连接配置文件
    先找到网站里负责数据库连接的PHP文件,通常叫config.php、db.php或者database.php。打开后重点看这些参数:

    // 示例代码,你要找类似的内容
    $db_host = 'localhost';
    $db_user = 'dewaai';
    $db_pass = 'xxxxxx';
    $db_name = 'xxxxxx';
    

    XAMPP默认的MySQL用户是root,密码默认是空(如果你没修改过的话),而错误显示用dewaai用户连不上,说明这个用户在本地MySQL里要么不存在,要么密码不对。

  • 第二步:确认本地MySQL是否存在dewaai用户
    打开XAMPP控制面板,启动MySQL后点击旁边的Admin进入phpMyAdmin:

    1. 顶部导航栏选「用户账户」
    2. 查找有没有dewaai@localhost这个用户条目
      如果没有,你有两个选择:要么修改配置文件改用root用户(简单快捷),要么新建dewaai用户并配置权限。
  • 第三步:创建/配置dewaai用户权限(如果想保留原用户)
    要是不想改配置文件,就给本地MySQL添上这个用户:

    1. 在phpMyAdmin的「用户账户」页面,点击「添加用户账户」
    2. 用户名填dewaai,主机选localhost,设置一个密码(必须和配置文件里的$db_pass完全一致)
    3. 下滑到「数据库权限」,选择你导入的目标数据库,给它分配全部权限(至少要选SELECT、INSERT、UPDATE、DELETE这些核心权限)
    4. 点击「执行」保存设置
  • 第四步:验证MySQL服务状态
    别忽略最基础的:打开XAMPP控制面板,确认MySQL模块是「Running」状态。如果没启动,点击「Start」按钮启动它——连接失败也可能是MySQL根本没跑起来。

  • 第五步:用测试脚本精准定位问题
    要是还没解决,写个简单的测试脚本test_db.php放在XAMPP的htdocs目录里,访问它看更详细的错误:

    <?php
    $servername = "localhost";
    $username = "dewaai"; // 换成你的配置里的用户名
    $password = "你的密码"; // 换成配置里的密码
    $dbname = "你的数据库名"; // 换成你导入的数据库名
    
    try {
        $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        echo "✅ 数据库连接成功!";
    } catch(PDOException $e) {
        echo "❌ 连接失败: " . $e->getMessage();
    }
    ?>
    

    访问http://localhost/test_db.php,输出的信息能帮你精准定位——比如是密码错误还是用户权限不足。

内容的提问来源于stack exchange,提问作者Jeremy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:01:12