2017-05-16 94 views
1

我已经存储了一个web项目(PHP,HTML和CSS)。我正在使用opt/lampp/htdocs XAMPP目录,因此我可以使用Web浏览器运行.php文件。其中一个.php文件尝试连接到外部服务器MySQL数据库,但运行时:MySQL使用XAMPP连接到外部数据库

mysqli_connect($servername, $username, $userpassword); 

它显示以下警告。

*mysqli_connect(): (HY000/2002): Connection refused* 

我试图用phpmyadmin和相应的凭据访问数据库,它工作正常。

所以问题是:我可以使用XAMPP执行一个msqli_connect到外部数据库,否则我应该放弃?

在此先感谢!

+1

尝试'mysqli_connect(“external_ip”,“my_user”,“my_password”,“my_db”);' – Harikrishnan

+0

@Harikrishnan这就是我尝试并触发警告。我将编辑我的问题以包含该信息。你能想到更多吗?不管怎么说,还是要谢谢你! – Eduardo

+0

也许你需要将你的本地公共IP地址列入服务器白名单。 – Yeray

回答

1

由于我不能评论,因为我的低点,我在这里回答。

我以前遇到类似的问题,所以分享我的经验。所有评论都提出了宝贵的观点。这些如下:

  1. 使用IP地址而不是服务器名称(可能有一些DNS缓存问题,所以使用IP地址是安全的)。
  2. 确保您使用的IP地址未被服务器的防火墙阻止。如果可能,请配置服务器的防火墙以白名单列出您的IP地址。
  3. MySQL默认端口是3306。确保防火墙配置为允许端口3306

外部连接最重要的是,要确保MySQL服务器必须配置为从外部接受连接。如果上述所有设置配置正确,那么您应该授予MySQL用户的外部访问权限和所有权限。

GRANT ALL PRIVILEGES ON 'yourDatabase'.* TO 'yourUserName'@'%'; 
FLUSH PRIVILEGES; 

参考 - Another SO Question