我用GoDaddy在使用MySQL服务器的PHP中编写了website。我将相同的代码保存在本地计算机上,并通过应用程序将其与GoDaddy上的目录同步。在公开发布更改之前,我还使用计算机上的XAMPP来测试对网站所做的任何更改。但是,localhost
服务器与cPanel GoDaddy服务器不同,并且没有连接。因此,如果将新内容添加到公用服务器上的数据库中,则必须
这是一个效率低下的过程,因此现在我想使用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-远程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());
当我输入此代码时,与其连接到XAMPP的本地MySQL服务器的主机(而不是“ localhost”),它会出现以下错误
无法连接到MySQL:用户'libuc6kfb0jg'@'[敏感信息]'(使用密码:是)的访问被拒绝
由于我知道这不是权限问题,所以我接下来要做的就是使用PORT参数。因此,我最后添加3306无济于事,因为它给了我同样的错误。最后,我从XAMPP控制面板将这段代码作为mysql
命令放入mysql客户端,这给了我同样的错误。
堆栈溢出研究
PDO
api而不是mysqli
api 之外,任何帮助将不胜感激。
修改
我发现了一个缺陷:在cPanel(远程MySQL数据库)中,我添加了本地主机服务器的IP地址,而不是计算机的IP地址(如果可以的话)。我现在正在更改在此工具中添加的IP地址。
答案 0 :(得分:1)
尽管授予用户所有权限对于使其具有对数据库的必要访问权限至关重要,但这仅影响用户操作数据库的能力。您还需要使用“服务器”防火墙将计算机IP列入白名单,否则将无法连接到远程服务器。