mysql:9402
From: Naoya Mihara <Naoya Mihara <strat_caster@xxxxxxxxxx>>
Date: Sat, 22 May 2004 20:29:50 +0900 (JST)
Subject: [mysql 09402] 外部 MySQL サーバに JDBC 接続失敗(新参者)
原と申します。JAVAとLINUX&MYSQLの環境で勉強中です。
よろしくお願いいたします。
他のMLでも質問中なのですが、
WindowsにインストールしているTomcatから、
MySQLを単独で走らせているLinuxサーバに
サーブレットでJDBC接続を試みているのですが
うまくいきません。
●サーブレットのソース;DB接続箇所
Connection con =null;
(中略)
try{
Class.forName("org.gjt.mm.mysql.Driver");
con = DriverManager.getConnection("jdbc:mysql://Linuxサーバの
アドレス/DB名?user=ユーザ名&password=パスワード");
(中略)
con.close();
}catch(ClassNotFoundException e){
out.println("Couldn't load database driver: " + e.getMessage());
}catch(SQLException e){
out.println("SQLException caught: "+ e.getMessage());
}
●サーブレット実行時のエラーメッセージ
SQLException caught: Cannot connect to MySQL server on (Linuxサーバの
アドレス):3306. Is there a MySQL server running on the machine/port
you are trying to connect to? (java.net.SocketException)
2番目のcatch文が実行されているようです。
ちなみに、TelnetでLinuxサーバにログインし、同じユーザ名とパスワード
ではMySQLにログインできます。
my.cfgではskip-networkingをコメントアウトし、再起動後
mysqladmin variables | grep skip-networkingで確認すると確かにOFFに
なっています。
又netstat -a | grep mysqlで
LISTEN
unix 2 [ ACC ] STREAM LISTENING 280744 /tmp/mysql.sock
という結果も確認しています。
接続するユーザは
grant all privileges on DB名.* to user@"%" identified by 'password' with
grant option;
として作成しています。
又/etc/servicesには次の1行を追加してみました。
mysql 3306/tcp # MySQLServer
(現在の環境)
WindowsXP:j2sdk-1_4_1_03、Tomcat5、Eclipse2.1.2
TurboLinuxServer7:MySQL4.0.13
過去ログも一通り目を通したつもりなのですが、行き詰っています。
同じ環境で成功している方がいらっしゃいましたらご教示下さい。
よろしくお願いいたします。
-> 9402 2004-05-22 20:29 [Naoya Mihara <strat_] 外部 MySQL サーバに JDBC 接続失敗(新参者) 9404 2004-05-22 23:32 ┗["TAKAHASHI, Tomohiro] 9405 2004-05-22 23:51 ┗[Naoya Mihara <strat_] 9406 2004-05-23 00:23 ┗["TAKAHASHI, Tomohiro] 9407 2004-05-23 00:40 ┗[Naoya Mihara <strat_] 9408 2004-05-23 00:50 ┣[Naoya Mihara <strat_] 9410 2004-05-24 01:26 ┃┣["KATAYOSE hakuo" <ka] 9412 2004-05-24 01:32 ┃┃┗["KATAYOSE hakuo" <ka] 9411 2004-05-24 01:27 ┃┗[とみたまさひろ <tomm] 9409 2004-05-24 01:13 ┗["KATAYOSE hakuo" <ka]