MySQLデータベースに接続するプログラムをJavaで作成しています。最初のクラスは単一の静的メソッドを返すクラスだったのでjava.sql.Connection
。デバッグして接続が機能した後、二度と触れません。そして数日前、私のプログラムがこのエラーを返していることを発見しました:
com.mysql.jdbc.CommunicationsException:
基礎となる例外による通信リンク障害
BEGIN NESTED EXCEPTION
com.mysql.jdbc.CommunicationsException
MESSAGE:
基礎となる例外による通信リンク障害:
BEGIN NESTED EXCEPTION
java.io.EOFExceptionサーバ。予想される 4 バイト、接続が予期せず失われる前に 0 を読み取りました。スタックトレース:
...
- MySQL Server v. 5.1.62 をインストールしました
- MySQL/J コネクタ v. 5.0.8 (mysql.com からダウンロード) を使用しています。
- また、NetBeans sqljdbc4.jar にクラスパスを入れました
私が理解できないのは、データベースを作成してからローカルホストでユーザー名とパスワードを変更していないという事実です。私が変更したのは、テーブルを追加し、テーブルの列を変更したことだけですが、このエラーは発生しません。そして、プロジェクトで行ったことは、文字セットを UTF-8 から UTF-16 に変更したことですが、接続方法にはほとんど影響しないと思います。
コネクタを変更してクラスパス コネクタ v. 5.1.22 を挿入すると、エラーが返されます
。ユーザー root のすべての権限を宣言しても
、ユーザー "root@localhost" (パスワードを使用: YES) のアクセスが拒否されました。