0

これは、php コードを使用するときに発生するエラーです。

"mysql_connect($host,$user,$password)", where $host="IP_of_my_system":

Warning: mysql_connect(): Host 'xxx' is not allowed to connect to this MySQL server in C:\xampp\htdocs\mysqltest\insert.php on line 4

しかし、IP の代わりに localhost を使用すると、問題なく動作します。

この動作はなぜですか?

4

4 に答える 4

1

MySQL でユーザー ID がどのように機能するかを理解していれば、非常に簡単です。

各ユーザー ID には、そのユーザー ID がログオンを許可されている場所が関連付けられています。これは可能ですfrom anywhere %が、通常は IP アドレスまたは IP アドレスのセットです。

したがって、使用しているユーザー ID はおそらくアクセスを許可するように設定されてlocalhostおり127.0.0.1、おそらく::1すべてが MySQL サーバーが実行されている PC をアドレス指定する方法です。

これらは十分なはずなので、MySQLのユーザーID定義を使用localhostまたは127.0.0.1変更して、IPアドレスからのアクセスを許可し192.168.0.99ますが、エイリアスの1つを使用するだけで十分ですthis PC。を使用するalias'sと、コードを別のマシンや MySQL サーバーに移動するときにも役立ちます。特定の IP を使用する場合は、おそらく使用しないでしょう。

于 2013-07-26T08:21:41.653 に答える
0

$hostname に 192.168.0.1:3306 (デフォルトでは mysql ポート) のようなポート番号を記載してください。

サーバーポート番号については、サーバー管理者に連絡してください

于 2013-07-26T07:43:28.217 に答える
0

問題の考えられる理由は 2 つあります。

1) ファイアウォールが IP_of_my_system:3306 をブロックしています

2) MySql で適切なアクセスを構成していません。

項目 1 については、システムを確認してください。

#2 については、Workbench で、データベースの管理者として入力します。次に、「ユーザーと権限」をクリックします。このページでは、アドレスまたはネットワークからログインする権限をユーザー (Windows ユーザーではなく MySQL ユーザー!) に付与する必要があります。この権限は「ホストごと」および「スキーマごと」です。次の図では、ユーザー「testmvc」が任意のホスト (%) および localhost からログインできることがわかります。 MySQL Workbench のユーザーと権限 - サーバー アクセス管理

次の画像では、「Schema Privilege」タブ MySQL Workbench のユーザーと権限 - スキーマ権限 を確認できます。このタブでは、ユーザー「testmvc」が任意のホスト (%) から、指定された権限で「testmvc」スキーマにアクセスできることがわかります。

アクセスと特権の組み合わせにより、ユーザーは MySQL サーバーにアクセスして操作することができます。

于 2013-07-26T08:14:45.293 に答える