从本地主机连接到 GoDaddy 服务器数据库

Connect to GoDaddy server database from localhost computer

我在 PHP 中编写了一个网站,该网站通过 GoDaddy 使用 MySQL 服务器。我在本地计算机上保存了相同的代码,并通过应用程序将其与 GoDaddy 上的目录同步。我还在我的计算机上使用 XAMPP 来测试我在更改 public 之前对网站所做的任何更改。然而,localhost 服务器是不同的,并且与 cPanel GoDaddy 服务器没有任何连接。因此,如果在 public 服务器上的数据库中添加了新内容,我将不得不

  1. 在远程phpmyadmin
  2. 上下载sql文件
  3. 将此文件上传到本地主机 phpmyadmin

这是一个低效的过程,所以现在我想使用 PHP 连接到 GoDaddy 服务器。为此,我将给我的 IP 地址放在 GoDaddy 托管页面中作为 mysqli_connect() 函数的主机参数。

// Set the database access information as constants
define('DB_USER', 'libuc6kfb0jg');
define('DB_PASSWORD', 'MY PASSWORD');
define('DB_HOST', 'MY IP ADDRESS');
define('DB_NAME', 'firstborumdatabase');

该用户在远程主机和本地主机上都拥有所有权限。 在 cPanel - Remote MySQL® 我已经添加了我计​​算机本地主机服务器的 IP 地址。

// Make the connection
$dbc = @mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME) OR die('Could not connect to MySQL: ' . mysqli_connect_error());

当我输入这段代码时,我的主机不是 'localhost',它连接到 XAMPP 的本地 MySQL 服务器,而是出现以下错误

Could not connect to MySQL: Access denied for user 'libuc6kfb0jg'@'[Sensitive Info]' (using password: YES)

因为我知道这不是权限问题,接下来我做的就是使用 PORT 参数。因此,我在末尾添加了 3306 无济于事,因为它给了我同样的错误。最后,我将此代码作为 mysql 命令从 XAMPP 控制面板输入到 mysql 客户端,这给了我同样的错误。

堆栈溢出研究

如有任何帮助,我们将不胜感激。


编辑

我发现了一个缺陷:在 cPanel 的远程 MySQL 数据库中,我添加了我的本地主机服务器的 IP 地址,而不是我计算机的 IP 地址,如果这有意义的话。我现在正在更改我在此工具中添加的 IP 地址。

虽然授予用户所有权限对于它拥有对您的数据库的必要访问权限至关重要,但这只会影响他操作数据库的能力。您还需要使用服务器防火墙将您的计算机 IP 列入白名单,否则将不允许您连接到远程服务器。