0

ポート 3307 で次のスクリプトを使用して、MySql データベースにリモートで接続しようとしています。

   $username="user";
   $password="pass";
   $database="db"; 
   mysql_connect('ccline.dyndns.info:3307',$username,$password);

   @mysql_select_db($database) or die( "Unable to select database");

しかし、接続できません。3306 を使用して、データベースでこの同じスクリプトを使用していました。

4

2 に答える 2

1

リモートデータベースに接続するために必要なものが3つあります。

  • ポート3306がファイアウォールで開いています。サーバーとクライアントのファイアウォールはポート3306を開く必要があります!
  • my.cnf bind-address = 0.0.0.0で、mysqlをすべてのインターフェースにバインドさせます
  • リモート接続を許可するためのデータベース内の十分な特権

仮想のすべてのホスティング会社はファイアウォールのポート3306を閉じ、直接リモートアクセスを許可しません。そして、たとえそうだとしても、データベースに接続するための特権を取得することはできません。

リモートデータベースがLANにある場合、またはルートアクセスでVPSを使用している場合にのみ、リモート接続を確立するように設定できます。

于 2012-09-13T16:58:25.300 に答える
1

最初に:mysql_*関数の代わりにmysqli_*関数を使用するのを忘れています詳細については、こちらをご覧ください

あなたの質問に:あなたのmysql_server ccline.dyndns.infoで、ポート3306/3307が開いていない...またはサーバーがローカルホストと等しくない要求に応じてリッスンしないように構成されているに違いない

したがって、mysqlサーバーと同じマシンでphp-scriptを使用する場合は、localhost:3307 ....で接続してください。

于 2012-09-13T16:59:32.573 に答える