質問: DriverManager.getConnection(url,user,pass); ↓↓実行後のエラーメッセージです。 (java.sql.SQLException: Communication failure during handshake. Is there a server running on localhost:3306?) ちなみにコマンドプロンプトからMySQLのcardbに接続する際は mysql -u root hellodb -p とうてば接続できます。この前に mysqld --default-character-set=sjis のようなコードをうつことはありません。(エラーになってしまったので) 接続面で何か不備があるのでしょうか? JDBCドライバのjarファイルのクラスパスへの設定は済んであります。 どなたかわかるかたいらっしゃいましたら教えていただけると 助かります。 どうぞよろしくお願いいたします。
回答: 調べてみたところ、MySQL 4.1以降、password()関数の返す長さが 20バイト から 41バイト に変換されているようです。 ひょっとすると今使ってるテーブルは、パスワードの長さが21バイトかもしれません。 その場合は、テーブルを作成しなおすか修正すればよいと思いますが、下記のページにかなり詳しく載っているので参考になるかと思います。 参考URL: