使用mysqli_connect()连接GoDaddy生产服务器数据库失败求助
解决GoDaddy主机下WordPress数据库连接1045/2002错误
核心问题分析
你遇到的1045 Access denied错误本质是数据库用户权限限制,而2002 Connection refused/No such file or directory则是连接地址/端口配置不匹配GoDaddy的数据库规则。
针对性排查修复步骤
1. 确认数据库用户的远程访问权限
GoDaddy托管数据库默认仅允许特定IP访问,错误信息里的'XXXXXXXXXXXXXXX'@'XXX.XXX.XXX.XXX'说明当前服务器公网IP不在该数据库用户的允许列表中:
- 登录GoDaddy数据库管理面板,找到对应数据库的用户管理模块
- 将网站服务器的公网IP(若为GoDaddy自有主机,需添加主机内部IP,可在主机控制面板查看)添加到允许访问的IP列表
- 保存后等待5-10分钟让权限生效,再测试连接
2. 严格使用GoDaddy提供的数据库连接域名
不要自行替换为IP或localhost,GoDaddy托管数据库使用专属域名(如你代码中的XXXXXXXXXXXXXXX.db.XXXXXXXX.24d.hostedresource.net),直接使用该域名即可:
- 确保代码中
$dbServername完全复制面板显示的数据库主机地址,不要修改格式 - 无需手动添加端口,该域名已包含端口映射
3. 再次核对数据库凭据准确性
哪怕你确认过,也再仔细核对一次:
- 数据库用户名、密码、数据库名要和GoDaddy面板数据库详情完全一致,注意大小写(GoDaddy的数据库名/用户名通常为小写)
- 避免复制时带入空格或特殊字符,建议手动输入关键信息
4. 保持主题代码与wp-config.php配置一致
你在主题中自定义了数据库连接(dbh.php),需确保其与wp-config.php的配置完全统一:
- 将wp-config.php里的
DB_HOST、DB_USER、DB_PASSWORD、DB_NAME与主题代码中的变量值保持一致 - 不要在wp-config.php中自行修改为IP,保留GoDaddy提供的域名
5. 排查主机防火墙/安全组限制
GoDaddy主机可能有额外防火墙规则,阻止网站服务器到数据库的连接:
- 登录主机控制面板,查看安全模块下的防火墙设置,确认允许出站连接到数据库默认端口(MySQL为3306)
- 若为GoDaddy托管WordPress主机,可直接联系客服确认内部限制规则
最后提醒
如果以上步骤均无效,直接联系GoDaddy技术支持,提供错误截图和服务器IP,他们能直接在后台排查数据库权限与网络连通性问题——毕竟其托管环境规则只有官方最清楚。
内容的提问来源于stack exchange,提问作者dfr
相关产品推荐
相关产品推荐

