他のサーバーのデータベース(MySQL)に接続するにはどうしたらよいでしょうか?今挑戦しているのですが、どうもうまく接続できません.PHPで作ってます.

回答の条件
  • 1人2回まで
  • 登録:2007/07/15 16:52:50
  • 終了:2007/07/18 02:03:48

回答(3件)

id:Kumappus No.1

くまっぷす回答回数3784ベストアンサー獲得回数1852007/07/15 17:11:24

ポイント27pt

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 がハングするか、接続が拒否されれば正常である。つまり、ポートは閉じている。 

なのでこのポートを開いて(接続可能な先は限定しないと危険)みてください。

id:un0 No.2

un0回答回数651ベストアンサー獲得回数322007/07/15 17:35:41

ポイント27pt

接続許可の設定が必要です。

例)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...

より

id:onigirin No.3

onigirin回答回数327ベストアンサー獲得回数232007/07/16 02:24:40

ポイント26pt

自分も経験ありますが、

Mysqlのユーザアカウントを「ユーザ名@localhost」とかにしていると、接続できないです。

この「@」以降に、phpのあるサーバーのIPアドレスを入れておけば、接続できると思いますよ。

grant でユーザーを作るときに、もう一つこれを作っておけばいけます。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません