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

本地XAMPP服务器通过PHP连接线上MySQL遇1045权限拒绝错误

本地XAMPP连接线上MySQL报1045权限拒绝?看这里解决

我的问题场景:

我尝试用以下PHP代码连接线上MySQL数据库:

<?php 
$servername = "www.psgcirdask.com"; 
$username = "xxx"; //hidden for security purpose 
$password = "password"; 
$dbname = "psgcilqh_calibration"; 

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 

// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

$sql = "SELECT * FROM brands"; 
$result = $conn->query($sql); 
$conn->close(); 
?>

运行后出现错误:

Warning: mysqli::__construct(): (HY000/1045): Access denied for user 'xxx'@'157.51.147.43' (using password: YES) in C:\xampp\htdocs\justshawarmapos\checkthedatabase.php on line 9
Connection failed: Access denied for user 'xxx'@'157.51.147.43' (using password: YES)

但用相同的用户名和密码在网站端能正常连接数据库,只有本地XAMPP服务器连接时出问题,求解决方案。


问题原因&解决方案:

这个错误的核心是你的线上MySQL没有给本地公网IP(157.51.147.43)授权访问该账号——网站端的服务器IP已经在允许列表里,但本地XAMPP的IP不在。下面是一步步的解决方法:

1. 给本地IP添加MySQL远程访问权限

登录你的网站主机管理后台(比如cPanel、Plesk,或者主机商的数据库管理界面),找到MySQL远程访问/IP白名单设置:

  • 把错误里显示的本地公网IP 157.51.147.43 添加到允许列表中;
  • 如果你是动态IP(每次上网IP都变),可以暂时用%允许所有IP访问,但这会降低安全性,建议只在测试时用,之后换成固定IP或者定期更新白名单。

2. 验证并手动添加账号权限(可选)

如果后台设置后还是不行,登录线上的phpMyAdmin,执行SQL查看账号授权:

SHOW GRANTS FOR 'xxx'@'157.51.147.43';

如果没有返回结果,说明需要手动授权:

-- 只授予访问目标数据库的权限,更安全
GRANT ALL PRIVILEGES ON psgcilqh_calibration.* TO 'xxx'@'157.51.147.43' IDENTIFIED BY '你的密码';
FLUSH PRIVILEGES; -- 刷新权限生效

3. 检查网络端口是否通畅

本地网络可能被防火墙或ISP屏蔽了MySQL默认端口3306,用telnet测试:

telnet www.psgcirdask.com 3306

如果连接失败:

  • 检查本地电脑防火墙是否允许出站3306端口;
  • 联系ISP确认是否未屏蔽3306;
  • 有些主机商会修改MySQL端口,查看主机文档确认端口号,然后在代码里添加端口参数:
$conn = new mysqli($servername, $username, $password, $dbname, 你的自定义端口);

4. 最后核对账号信息

虽然网站端能用,但还是再检查一遍:

  • 确保代码里的$username、$password、$dbname和网站端完全一致,注意大小写(部分系统区分);
  • 如果密码有特殊字符(比如@、&),尝试用单引号包裹,或者转义特殊字符。

做完这些步骤后,重新运行PHP代码,应该就能正常连接了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:18:01