HOST_Aにインストールしました。HOST_BからHOST_Aに接続しようとすると、
Can't get hostname for your address 1042
と表示され接続できません。mysqlに外部から接続できるように、adminというユーザーを作りもしましたが、それでも駄目。
下記のURLの28番目に症状が似ていますが、解決できません。どのように外部接続できるようになるかお教えください。
http://unkar.org/r/db/1295436346
メッセージの内容からすると、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
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接続」
ご回答ありがとうございます。ご紹介頂きましたサイトは既に見ています。adminに権限は正しく与えています。家の中のネットワークで、単純に有線でHUBでつないでいるだけです。
MySQLに接続するためにはポート番号3306が開いている必要がありますが、セキュリティソフトどによって閉じられているということはありませんか? ご確認下さい。
ポート番号を指定する場合には -P オプションを使用します。
ポートは3306で開いています。セキュリティソフトはMYSQLが入っている方はアンインストールしましたし、開いていることも確認しています。
メッセージの内容からすると、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
おぉ、これはなんかできそうな感じがします。週明けにさっそくためしてみたいと思います。ご回答ありがとうございました。
おぉ、これはなんかできそうな感じがします。週明けにさっそくためしてみたいと思います。ご回答ありがとうございました。