http://akita-nct.jp/~yamamoto/comp/WEB/php/index.php#mysql
PHPのmysql_connect("ホスト名", "ユーザー名", "パスワード")を使うところはわかりますよね?
接続先の他のサーバがちゃんとMySQLのポートを開いていますか?
http://dev.mysql.com/doc/refman/5.1/ja/security-guidelines.html
にありますが、
他にも、MySQL ポートが開いているかどうか確かめる簡単な方法として、 リモート コンピュータから以下のコマンドを実行するという方法がある。 ここで、server_host は MySQL サーバのホスト名、または IP アドレスである。 shell> telnet server_host 3306 接続できて意味不明な文字が返ればポートが開いている。 開いておく正当な理由がない限り、ファイアウォールまたはルータで閉じておく。 telnet がハングするか、接続が拒否されれば正常である。つまり、ポートは閉じている。
なのでこのポートを開いて(接続可能な先は限定しないと危険)みてください。
接続許可の設定が必要です。
例)GRANT を使用し、システム BETA から myuser のパスワードでデータベース test に接続できる、myuser ユーザ名でのアカウントを設定する :
GRANT ALL ON test.* to 'myuser'@'BETA' IDENTIFIED BY 'mypassword';
http://dev.mysql.com/doc/refman/5.1/ja/myodbc-examples-walkthrou...
より
自分も経験ありますが、
Mysqlのユーザアカウントを「ユーザ名@localhost」とかにしていると、接続できないです。
この「@」以降に、phpのあるサーバーのIPアドレスを入れておけば、接続できると思いますよ。
grant でユーザーを作るときに、もう一つこれを作っておけばいけます。
コメント(0件)