- - PR -
データベースに接続できません。
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2002-10-27 20:57
よくあることなんですけども、
IPアドレスが間違っていませんか? もしくはTomcatが入ったマシンの OS側のファイアウォールが効いているというオチとか。 L1(物理層)から順に確認してみてはいかがでしょう? |
|
投稿日時: 2002-10-28 09:12
皆さん、ありがとうございます。
お返事が遅くなりまして、申し訳ありません。 ユーザー名、パスワードは間違っておりません。 IPアドレス及びポートも合っています。 只今、教えて頂いた部分を調査中です。 と言っても、基本的な部分がわかっていないので、 原因究明が出来るかどうか・・・。 Taka(2)さんの mysqldを--enable-named-pipe付きで実行してて、 netstat -anしても、3306ポートをLISTENしてない の部分をもう少し詳しく教えて頂けませんか? pantoraさんの もしくはTomcatが入ったマシンの OS側のファイアウォールが効いている なのですが、どの辺りを見ればよろしいのでしょうか? はっきり言って、こんな事をするレベルでもありませんし、 もっと基本を勉強してからやるべきだとも思いますが、 挑戦してみなければ先に進めないと思い、やっております。 素人で申し訳ありませんが、宜しくお願いします。 |
|
投稿日時: 2002-10-28 09:23
現在LANでつながっているマシンがありますが、
Linux、WinNT、Win2000 それぞれにMySQLを入れてみました。 WinNTとWin2000の間は、希望通りの結果が得られました。 WinマシンとLinuxの間でのみ、問題が発生しています。 この辺りに問題がありますか? LinuxはWebServerです。 ApacheとTomcatの間はProxy接続です。 内部(LAN上)でのファイアーウォールは、特に設定していない積りなのですが・・・。 引き続き宜しくお願い致します。 |
|
投稿日時: 2002-10-28 09:50
Linuxのipchans/iptablesあたりでしょうかね?
http://www.linux.or.jp/JF/JFdocs/netfilter-faq.html このへんを見てみてください。 |
|
投稿日時: 2002-10-28 19:44
たびたび申し訳ありません。
いろいろ試してみたところ、どうやら原因は CLASSPATH にありそうなんですが・・・。 Connector/J をインストールしたのですが、READMEを読んでも、 いまいち設定方法がわかりません。 「ディレクトリをコピーしろ」だの 「CLASSPATHを通せ」だの・・・。 いろいろとCLASSPATHをいじってみましたが、 今の状態ですとEXPORTしてもしなくても、 結局同じエラーです。 どうか宜しくお願い致します。 |
|
投稿日時: 2002-10-28 23:57
ええ!初めの書き込みで書いてあったエラーから察すると、ネットワーク絡みかデーモンが動いてないとかかなーと思えるんですが、CLASSPATHですか〜・・・、う〜ん。
今の状況は × Linux上のApache → Win2000上のMySQL ○ 他のWinNT → Win2000上のMySQL ということですよね。 >現在LANでつながっているマシンがありますが、 > Linux、WinNT、Win2000 >それぞれにMySQLを入れてみました。 >WinNTとWin2000の間は、希望通りの結果が得られました。 >WinマシンとLinuxの間でのみ、問題が発生しています。 >この辺りに問題がありますか? この辺から分かるのは、どうもLinux側に何かあるのではないかなーということですよね。 原因1: JSP側での接続方法(コーディング)に問題がある。 しかし、WinNTからWin2000に同じJSPを使って接続できた場合、違うはずですよね。 原因2: MySQLがサービスとして正しく動いていない。 これも原因1と同じで、他のクライアントから同じ方法で接続できていれば、違うはず。 MySQLを動かしているWin2000でコマンドプロンプト開いて、Taka(2)さんが書いたように netstat -an って打って、 TCP 127.0.0.1:3306 0.0.0.0:0 LISTENING とかっていうのがみつからないと、そもそも外部からの接続を待っていないということになりますよ。 原因3: Linux側のファイアーウォールが悪さをしている。 ipchainsとかiptablesなんかがいい加減な設定で動いているなら、これが臭いですよねー。起動スクリプト(RedHatなら/etc/rcあたり)を見て、ipchainsとかiptablesが入っているようなら、お使いのランレベルの起動スクリプトディレクトリ内のシンボリックリンクを削除して起動してみて試してみてはいかがでしょうか。 Linux上から mysql -h Win2000のIPアドレス -u root -p とかやってもつながらないなら、たぶんこの辺かなー。 どうでしょかね?。 |
|
投稿日時: 2002-10-29 18:21
小僧さん、ありがとうございます。
netstat -an と打ったところ、なんかたくさん出てきましたが、 関係のありそうな所には、 TCP 127.0.0.1:1040 127.0.0.1:3306 ESTABLISHED TCP 127.0.0.1:3306 127.0.0.1:1040 ESTABLISHED となっておりました。 LISTENING ではありませんでした。 127.0.0.1:1040 って、何ですか? 原因1: JSP側での接続方法(コーディング)に問題がある。 しかし、WinNTからWin2000に同じJSPを使って接続できた場合、違うはずですよね。 の部分ですが、 NT→2000 2000→NT 2000→Linux NT→Linux で接続できましたが、 あくまでもMySQLサーバーとクライアントでつながっただけなんです。 まぎらわしくてすみません・・・。 あと「MyODBC」でWin側の「Access」とLinux側の「MySQLサーバー」とで テーブルのリンクが成功しています。 なにとぞ宜しくお願い致します。 |
|
投稿日時: 2002-10-29 23:16
以下の条件で、Linux(クライアント) → Windows(MySQLサーバ)でつながりました。
Windows XP Home Edition mysql-3.23.53-win 起動コマンド: mysqld-max --standalone (なんでstandaloneなのに、LAN越しOKなんだろう...) Linux: Slackware7.0(古い...) JDK1.3.0 JDBCドライバ: mysql-connector-java-2.0.14 上記条件でWindows側でnetstat -anした場合、 TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING のように出力されます。(なぜか2行出る) ちなみに、testデータベースはつながったのですが、 mysqlデータベースは、以下のエラーで拒否されました。 Exception in thread "main" java.sql.SQLException: General error: Access denied for user: '@XXX.XXX.XXX.XXX' to database 'mysql' これは、何か別の原因だと思われます。 |
