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 "Remote 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 に答える