※ ChatGPTを利用し、要約された質問です(原文:JDBC実行時に認証エラーとなる)
JDBC実行時に認証エラーとなる
2008/10/07 11:23
皆さんこんにちわ。
JDBCに関して解決に至らない事があり、
アドバイスをいただきたく、質問させていただきます。
MySQLの初心者ですが、
優しい目でアドバイスいただけると大変ありがたいです。
どこにでもあるような下記JDBCを利用して、
MySQLに接続を行うだけの簡単なプログラムをコンパイルし、
実行してみましたが、
MySQLでの認証に引っかかってしまい、
接続に失敗しています。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
import java.net.*;
import java.sql.*;
class test5 {
public static void main(String args[]) {
try {
//JDBCドライバをロードする
Class.forName("com.mysql.jdbc.Driver");
//データベースに接続する
String url = "jdbc:mysql://localhost/testdb";
String user = "test";
String pass = "test!";
Connection con = DriverManager.getConnection(url,user,pass);
System.out.println("データベースに接続しました");
//データベースから切断する
con.close();
System.out.println("データベースを切断しました");
} catch (Exception e) {
System.out.println("例外 " + e + " が発生しました");
}
}
}
# javac test5.java
# java test5
例外 java.sql.SQLException: Invalid authorization specification message from server: "Access denied for user 'root'@'localhost' (using password: YES)" が発生しました
試しに、「test」というユーザ名と「test!」というPWDで、
MySQLにログインし、
「testdb」というDBを選択すると、
それは可能なようです。
また、
「mysql-connector-java-3.0.17-ga-bin.jar」は、
「/usr/java/jdk1.6.0_07/lib/mysql-connector-java-3.0.17-ga」ディレクトリに
保存されています。
環境変数は、
以下のようにしています。
export CLASSPATH=.:$JAVA_HOME/lib/mysql-connector-java-3.0.17-ga/mysql-connector-java-3.0.17-ga-bin.jar
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# mysql -u test -p
Enter password:
mysql> use testdb;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
質問の原文を閉じる
質問の原文を表示する
お礼
soramame99さん、ご丁寧に教えていただきありがとうございました! MySQL上でgrant文を実行し、 無事に成功のメッセージが表示されたので、 安心して、再度JDBCで接続対応を 行ったのですが、 やはり、全く同じエラーメッセージが表示されてしまいました。 うわー、何でなんだろー。 本気で分からないです。 簡単なプログラムなので、かなり不思議です。
補足
soramame99さん 度々すいません。 grant文ですが、何回か改めて行っているうちに、 何故か成功しました! 入力間違えですかね?? 何回も試したのですが。。 非常に助かりました。 ありがとうございました!