Я установил MySQL Workbench 8.0 и пытаюсь подключиться к моей базе данных через Netbeans через Connector / J версии 5.1.39.
Это настройка, которая прекрасно работает на моей Windows Surface.
Я пытаюсь скопировать настройки на моем домашнем ПК, но у меня возникают проблемы.
Код:
String driver = "jdbc:mysql:";
String hostAndPort = "//localhost:3306/";
String database = "bills";
String options = "?autoReconnect=true&useSSL=false";
final String userName = "root";
final String password = "pass";
String url = driver + hostAndPort + database + options;
try(Connection con = DriverManager.getConnection(url, userName, password);
Statement st = con.createStatement())
{
// Do nothing so far
} catch (SQLException ex) {
System.out.println("SQLException:\t" + ex.getMessage());
System.out.println("SQLState:\t" + ex.getSQLState());
System.out.println("VendorError:\t" + ex.getErrorCode());
}
Когда я пытаюсь запустить приложение, оно ловит исключение и печатает:
SQLException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.
SQLState: 08001
VendorError: 0
Стоит отметить, что да, база данных «счета» существует, пользователь и пароль верны. Я могу использовать их, чтобы войти в MySQL Workbench и отредактировать базу данных счетов.
Вещи, которые я пробовал:
- Я добавил путь к каталогу Connector / J к пути к классу.
- Я добавил JAR-файл Connector / J непосредственно в проект.
- Я добавил библиотеку «MySQL JDBC Driver» в проект.
- Я убедился, что база данных настроена на использование порта 3306 с методом подключения «Стандартный (TCP / IP)». (У меня также нет «Ограничений учетной записи» для пользователя root)
- Я убедился, что брандмауэр Защитника Windows не блокирует MySQL. (У меня нет другого брандмауэра)
- Я убедился, что служба MySQL работает
Опять же, эта установка прекрасно работает на моей поверхности.
Я пробовал более новые версии Connector / J, но у меня возникли проблемы совместимости с MySQL Workbench v. 8, поэтому я решил перейти с v. 5.1.39 (Connector / J), так как он работает на моем Surface.
Единственное место, где я чувствую, что получаю подсказку о том, что происходит, - это когда я проверяю активность портов на моем домашнем компьютере и сравниваю ее с таковой на моей поверхности:
При наблюдении за портами при попытках подключения к базе данных я получаю следующее:
Почему порты соединения не устанавливаются на моем домашнем ПК?
Это источник проблемы и как я могу это исправить?
Если это не источник проблемы, то почему я не могу подключиться?