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

PHP跨服务器连接MySQL数据库遇1045权限拒绝错误求助

解决MySQL远程连接1045访问拒绝问题

针对你遇到的mysqli::real_connect(): (HY000/1045): Access denied for user 'test_user'@'xxxx.xxxxxxxxxxxxx.com'错误,按以下步骤排查:

  • 匹配授权主机
    错误信息显示请求来自域名xxxx.xxxxxxxxxxxxx.com,但你仅授权了IP地址,MySQL权限规则为严格匹配。直接对该域名授权:

    GRANT ALL PRIVILEGES ON test_db.* TO 'test_user'@'xxxx.xxxxxxxxxxxxx.com' IDENTIFIED BY 'test_pw';
    FLUSH PRIVILEGES;
    

    测试阶段可临时用test_user@'%'授权(仅限测试,生产环境禁用),验证是否为主机匹配问题。

  • 验证账号密码正确性
    确认PHP代码中的$username和$password与数据库账号完全一致,注意Linux系统下MySQL用户名区分大小写。可在数据库本地执行mysql -u test_user -p,输入密码测试登录是否正常。

  • 检查防火墙与网络连通性
    确认数据库服务器的防火墙(含云服务商安全组)已开放3306端口给站点服务器的IP/域名。用以下命令测试连通性:

    telnet 192.xxx.xxx.xx 3306
    

    若无法连通,优先排查防火墙规则。

  • 检查MySQL绑定地址配置
    查看MySQL配置文件my.cnf(或my.ini)中的bind-address项,若设置为127.0.0.1则仅允许本地访问,需修改为0.0.0.0(允许所有IP)或站点服务器的IP,修改后重启MySQL服务。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 00:46:03