Я делаю программу на Java, которая подключается к базе данных MySQL. Поскольку первый класс был классом с единственным статическим методом, возвращающим java.sql.Connection
. После того, как он был отлажен и работала связь, я больше никогда не трогаю его. И несколько дней назад я обнаружил, что моя программа возвращала эту ошибку:
com.mysql.jdbc.CommunicationsException:
Ошибка связи из-за лежащего в основе исключения
НАЧАТЬ НЕПРЕДЕЛЕННОЕ ИСКЛЮЧЕНИЕ
com.mysql.jdbc.CommunicationsException
СООБЩЕНИЕ:
Связь отказ из-за основного исключения:
НАЧАТЬ НЕПРЕДЕЛЕННОЕ ИСКЛЮЧЕНИЕ
java.io.EOFException СООБЩЕНИЕ: Не удается прочитать ответ с сервера. Ожидаемые 4 байта, считанные 0 до того, как соединение было неожиданно потеряно.StackTrace:
...
- Я установил MySQL Server v. 5.1.62
- Я использую соединитель MySQL/J v. 5.0.8 (загружен с mysql.com)
- Также я помещаю в classpath в NetBeans sqljdbc4.jar
Вещь, которую я не могу понять, это факт, что я не менял имя пользователя и пароль на своем локальном хосте, так как я создал свою базу данных. Единственное, что я изменил: добавить в таблицы больше таблиц и изменить столбцы, но это не вызовет эту ошибку. И что я сделал с моим проектом, я изменил кодировку с UTF-8 на UTF-16, но, я думаю, это вряд ли повлияет на мой метод подключения.
Если я сменил соединитель и вставил в classpath-коннектор v. 5.1.22, он возвращает ошибку:
Доступ запрещен для пользователя "root @localhost" (с использованием пароля: ДА)
даже я объявил все привилегии для пользователя root.