Windows サーバーでホストされている MySQL データベースがあり、リモート Web サーバーからクエリを実行したいと考えています。PHP を使用して MySQL データベースに接続しようとすると (mysqli を使用する必要があることはわかっています):
$connection = @mysql_connect("203.0.113.0:3306", "username", "password");
ポートを指定してもしなくても、長時間ロードした後、2003 のエラーで次のエラーが発生errorno
します。
「203.0.113.0」で MySQL サーバーに接続できない (4)
netstat -n
MySQL サーバーをホストしているサーバーでコマンド プロンプトを実行すると、次のようになります: http://pastebin.com/pbRJNqCZ。画面がいっぱいになったので、すべてをコピーすることはできませんでしたが、他のすべてがコピーされたことはわかっています (値が 3306 のポートがいくつか見られました。これは MySQL ポートです)。
TCP 127.0.0.1:port 127.0.0.1:port ESTABLISHED
実行すると、次のようnetstat -a | find "LISTENING"
になります: http://pastebin.com/Lqj2BrQK
これが私がこれまでに知っていることです:
- ローカルで接続できるため、MySQL サーバーが起動していないというエラーではありません。
- 他のデータベースに接続できるため、Web サーバーが MySQL データベースに接続できないというエラーではありません。
- 認証エラーではありません (ユーザー名とパスワードが正しく、リモート サーバーにアクセス許可がある)
3306
ポートは TCP と UDP の両方で転送されるため、ポート転送エラーではありません。- サーバーがホストされているマシンに接続できることはエラーではありません。問題なくpingできるからです。
- サーバーは localhost インターフェイスでリッスンしているだけではありません。
skip-networking
私のファイルでbind-address
はコメントアウトされていmy.cnf
ます。
接続コードを編集したり、MySQL サーバーを編集してこのエラーを修正するにはどうすればよいですか?