MYSQLについて教えてください。Win XP SP3にMYSQL 5.58をインストールしました。ローカルホストからは接続できました。

HOST_Aにインストールしました。HOST_BからHOST_Aに接続しようとすると、

Can't get hostname for your address 1042

と表示され接続できません。mysqlに外部から接続できるように、adminというユーザーを作りもしましたが、それでも駄目。
下記のURLの28番目に症状が似ていますが、解決できません。どのように外部接続できるようになるかお教えください。
http://unkar.org/r/db/1295436346

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2011/04/02 15:30:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:bayan No.3

回答回数100ベストアンサー獲得回数13

ポイント26pt

メッセージの内容からすると、HOST_B の IPアドレスを

ホスト名に逆引きできないのでエラーになっていると思われます。


(A) 逆引きできるようにする


HOST_A の hosts ファイルに HOST_B の IPアドレスとホスト名を

スペースで区切って1行に記述します。


例えば HOST_B の IPアドレスが 192.168.0.10 であれば、

HOST_A の C:\WINDOWS\system32\drivers\etc\hosts に

以下のように書きます。

192.168.0.10 host-b

なお、HOST_B のIPアドレス設定が自動取得の場合、

再起動などで変わってしまうとつながらなくなります。


(B) 逆引きを行わないようにする


HOST_A の C:\Program Files\MySQL\MySQL Server 5.0\my.ini の最後に

次の1行を追加してください。

skip-name-resolve

次に、MySQLサービスを再起動してください。


なお、これを行うと、HOST_A 上で、ユーザー名@localhost で

接続できなくなるかもしれません。(rootとか)

必要に応じて ユーザー名@127.0.0.1 を追加するなどしてください。


設定ファイルを編集する際は、バックアップをとり

元に戻せるようにしておくことをおすすめします。


参考URL

MySQL 5.5.8でリモート接続に失敗した場合の対処法

http://d.hatena.ne.jp/pgmgonta/20110316/1300284367

※Linux上での話なのでファイル名等読み替える

skip-name-resolveを書くとDBに接続できない場合

http://www.netcreates.jp/blog/2009/05/skip-name-resolvedb.html

id:popattack

おぉ、これはなんかできそうな感じがします。週明けにさっそくためしてみたいと思います。ご回答ありがとうございました。

2011/03/27 00:11:38

その他の回答2件)

id:deflation No.1

回答回数1036ベストアンサー獲得回数126

ポイント27pt

adminユーザーを下記のようにして作成しましたか?

ご確認下さい。

mysql> GRANT ALL PRIVILEGES ON *.* TO admin@"%"
    -> IDENTIFIED BY 'パスワード' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO admin@localhost
    -> IDENTIFIED BY 'パスワード' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;

参考「外部ホストからのMySQL接続

id:popattack

ご回答ありがとうございます。ご紹介頂きましたサイトは既に見ています。adminに権限は正しく与えています。家の中のネットワークで、単純に有線でHUBでつないでいるだけです。

2011/03/26 18:01:40
id:deflation No.2

回答回数1036ベストアンサー獲得回数126

ポイント27pt

MySQLに接続するためにはポート番号3306が開いている必要がありますが、セキュリティソフトどによって閉じられているということはありませんか? ご確認下さい。

ポート番号を指定する場合には -P オプションを使用します。


参考「コマンドラインから MySQL 接続時にポート番号を指定する

id:popattack

ポートは3306で開いています。セキュリティソフトはMYSQLが入っている方はアンインストールしましたし、開いていることも確認しています。

2011/03/27 00:09:26
id:bayan No.3

回答回数100ベストアンサー獲得回数13ここでベストアンサー

ポイント26pt

メッセージの内容からすると、HOST_B の IPアドレスを

ホスト名に逆引きできないのでエラーになっていると思われます。


(A) 逆引きできるようにする


HOST_A の hosts ファイルに HOST_B の IPアドレスとホスト名を

スペースで区切って1行に記述します。


例えば HOST_B の IPアドレスが 192.168.0.10 であれば、

HOST_A の C:\WINDOWS\system32\drivers\etc\hosts に

以下のように書きます。

192.168.0.10 host-b

なお、HOST_B のIPアドレス設定が自動取得の場合、

再起動などで変わってしまうとつながらなくなります。


(B) 逆引きを行わないようにする


HOST_A の C:\Program Files\MySQL\MySQL Server 5.0\my.ini の最後に

次の1行を追加してください。

skip-name-resolve

次に、MySQLサービスを再起動してください。


なお、これを行うと、HOST_A 上で、ユーザー名@localhost で

接続できなくなるかもしれません。(rootとか)

必要に応じて ユーザー名@127.0.0.1 を追加するなどしてください。


設定ファイルを編集する際は、バックアップをとり

元に戻せるようにしておくことをおすすめします。


参考URL

MySQL 5.5.8でリモート接続に失敗した場合の対処法

http://d.hatena.ne.jp/pgmgonta/20110316/1300284367

※Linux上での話なのでファイル名等読み替える

skip-name-resolveを書くとDBに接続できない場合

http://www.netcreates.jp/blog/2009/05/skip-name-resolvedb.html

id:popattack

おぉ、これはなんかできそうな感じがします。週明けにさっそくためしてみたいと思います。ご回答ありがとうございました。

2011/03/27 00:11:38

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

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

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

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

回答リクエストを送信したユーザーはいません