0

我有一个数据库服务器和一个应用程序服务器,并尝试使用 PHP 将我的应用程序服务器连接到远程数据库服务器。

像往常一样,我以以下方式使用以下方式。

<?php
mysql_connect("remotedb.com", "mysqladmin", "mysqlpassword") or die(mysql_error());
echo "Connected to MySQL<br />";
?>

但是当我尝试运行此测试时,我收到以下错误。

Warning: mysql_connect() [function.mysql-connect]: Host 'gator418.hostgator.com' is not allowed to connect to this MySQL server in /home/username/public_html/testmysql.php on line 2
Host 'gator418.hostgator.com' is not allowed to connect to this MySQL server

我已将域作为 %www.myappserver.com% 添加到远程服务器的 cpanel“远程 MySQL”,但问题仍然存在。谁能告诉我为什么会出现这个错误?

4

2 回答 2

0

不允许使用您的主机连接远程数据库用户名。很可能它被设置为只能从“localhost”连接,因此请检查您的 mysql 服务器上的用户名详细信息并查看允许的主机列表

于 2013-01-02T07:38:54.713 回答
0

首先从您的本地计算机尝试此操作

$ mysql -h gator418.hostgator.com -u root -p
Enter password:
ERROR 1130: Host '192.168.1.4' is not allowed to connect to this MySQL server

如果您遇到上述错误,请执行以下代码

在您的服务器中执行此操作。

$ mysql -u root -p
Enter password:

mysql> use mysql

mysql> GRANT ALL ON *.* to mysqladmin@'gator418.hostgator.com' IDENTIFIED BY 'mysqlpassword'; 

mysql> FLUSH PRIVILEGES;

此外,更新防火墙规则以确保在运行 mysql 数据库的服务器上打开端口# 3306。

经过上述更改后,当您尝试从远程客户端连接到 mysql 数据库时,您将不会再收到“不允许主机连接到此 MySQL 服务器”错误消息。

这也可以通过 Cpanel 实现。将所有权限授予您创建的用户。(对于您想要的特定数据库)

于 2013-01-02T07:42:34.450 回答