MySQL 使用 XAMPP 连接到外部数据库

Posted

技术标签:

【中文标题】MySQL 使用 XAMPP 连接到外部数据库【英文标题】:MySQL connection to external database using XAMPP 【发布时间】:2017-10-15 19:16:27 【问题描述】:

我存储了一个网络项目(phphtml 和 CSS)。我在 opt/lampp/htdocs XAMPP 目录中工作,所以我可以使用网络浏览器运行 .php 文件。其中一个 .php 文件尝试连接到外部服务器 mysql 数据库,但是在运行时:

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

它会显示以下警告。

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

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

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

提前致谢!

【问题讨论】:

试试mysqli_connect("external_ip", "my_user", "my_password", "my_db"); @Harikrishnan 这就是我尝试并触发警告的方法。我将编辑我的问题以包含该信息。你能想到更多吗?还是谢谢! 也许您需要将您的服务器上的本地公共 IP 地址列入白名单。 在终端发出这个命令并显示 O/P telnet server_ip 3306 @Harikrishnan 正在尝试 server_ip... telnet:无法连接到远程主机:连接被拒绝 【参考方案1】:

由于我的低分无法发表评论,所以我在这里回答。

我以前也遇到过类似的问题,所以分享一下我的经验。所有的 cmets 都提出了有价值的观点。它们如下:

    使用 IP 地址代替服务器名称(可能存在一些 DNS 缓存问题,因此使用 IP 地址是安全的)。 确保您使用的 IP 地址未被服务器的防火墙阻止。如果可能,将服务器的防火墙配置为将您的 IP 地址列入白名单。 默认 MySQL 端口是 3306。确保防火墙配置为允许外部连接到端口 3306。

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

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

参考 - Another SO Question。

【讨论】:

以上是关于MySQL 使用 XAMPP 连接到外部数据库的主要内容,如果未能解决你的问题,请参考以下文章

在 Windows 10 上使用 XAMPP 连接到 MySQL 数据库的访问被拒绝

无法使用便携式 Xampp 通过 Django 连接到 MySQL

使用xampp连接到mysql [重复]

Xampp 不会连接到 MYsql 数据库或 ProFTPD

无法将 MySQL 连接到 XAMPP

使用 XAMPP 连接到数据库