从本地主机连接到 GoDaddy 服务器数据库
Connect to GoDaddy server database from localhost computer
我在 PHP 中编写了一个网站,该网站通过 GoDaddy 使用 MySQL 服务器。我在本地计算机上保存了相同的代码,并通过应用程序将其与 GoDaddy 上的目录同步。我还在我的计算机上使用 XAMPP 来测试我在更改 public 之前对网站所做的任何更改。然而,localhost
服务器是不同的,并且与 cPanel GoDaddy 服务器没有任何连接。因此,如果在 public 服务器上的数据库中添加了新内容,我将不得不
- 在远程phpmyadmin
上下载sql文件
- 将此文件上传到本地主机 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 客户端,这给了我同样的错误。
堆栈溢出研究
- Connect to server database from localhost 没有给出和我一样的错误
- Connecting to online MySQL database from localhost: I tried changing www.bforborum.com 从 GoDaddy 我的主机页面到它的 IP 地址,这给出了同样的错误
- Can't connect to godaddy localhost 的答案与我使用的代码相同,除了使用
PDO
api 而不是 mysqli
api
- Connecting remote server mysql database to localhost 没有给出任何代码
如有任何帮助,我们将不胜感激。
编辑
我发现了一个缺陷:在 cPanel 的远程 MySQL 数据库中,我添加了我的本地主机服务器的 IP 地址,而不是我计算机的 IP 地址,如果这有意义的话。我现在正在更改我在此工具中添加的 IP 地址。
虽然授予用户所有权限对于它拥有对您的数据库的必要访问权限至关重要,但这只会影响他操作数据库的能力。您还需要使用服务器防火墙将您的计算机 IP 列入白名单,否则将不允许您连接到远程服务器。
我在 PHP 中编写了一个网站,该网站通过 GoDaddy 使用 MySQL 服务器。我在本地计算机上保存了相同的代码,并通过应用程序将其与 GoDaddy 上的目录同步。我还在我的计算机上使用 XAMPP 来测试我在更改 public 之前对网站所做的任何更改。然而,localhost
服务器是不同的,并且与 cPanel GoDaddy 服务器没有任何连接。因此,如果在 public 服务器上的数据库中添加了新内容,我将不得不
- 在远程phpmyadmin 上下载sql文件
- 将此文件上传到本地主机 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 客户端,这给了我同样的错误。
堆栈溢出研究
- Connect to server database from localhost 没有给出和我一样的错误
- Connecting to online MySQL database from localhost: I tried changing www.bforborum.com 从 GoDaddy 我的主机页面到它的 IP 地址,这给出了同样的错误
- Can't connect to godaddy localhost 的答案与我使用的代码相同,除了使用
PDO
api 而不是mysqli
api - Connecting remote server mysql database to localhost 没有给出任何代码
如有任何帮助,我们将不胜感激。
编辑
我发现了一个缺陷:在 cPanel 的远程 MySQL 数据库中,我添加了我的本地主机服务器的 IP 地址,而不是我计算机的 IP 地址,如果这有意义的话。我现在正在更改我在此工具中添加的 IP 地址。
虽然授予用户所有权限对于它拥有对您的数据库的必要访问权限至关重要,但这只会影响他操作数据库的能力。您还需要使用服务器防火墙将您的计算机 IP 列入白名单,否则将不允许您连接到远程服务器。