Как соединить MySQL XAMPP локальный DB с помощью JDBC?

Мне записали эту игру Тетриса в Java, который использует DB для очков рекордно высокого уровня. Это работало хорошо, пока я использовал удаленный MySQL DB, но теперь я пытаюсь настроить localhost DB с помощью MySQL XAMPP, и это продолжает идти как "SQLException: отказ Коммуникационного канала" при команде:

con = java.sql.DriverManager.getConnection("jdbc:mysql://localhost/score", user, psw);

Я предполагаю, что это - или неправильный URL или конфигурация DB, но я действительно не знаю, что проверить. Какие-либо идеи?

Править: Мой друг решил мою проблему путем замены "localhost" в URL "127.0.0.1" (который был довольно смущающим, как можно, конечно, предположить :P).

Таким образом, вопрос: Почему XAMPP не в состоянии перевести "localhost" в IP-адрес и как зафиксировать его?

8
задан Jakub Stejskal 31 January 2010 в 12:48
поделиться

2 ответа

Почему XAMPP не может преобразовать "локальный хост" в IP-адрес и как это исправить?

Это не проблема XAMPP и не проблема программирования. Это скорее проблема с DNS.

Для запуска есть ли у вас файл %SystemRoot%/system32/drivers/etc/hosts со следующей строкой: first? (таким образом, после всех комментариев, но перед любыми другими объявлениями хостов)

127.0.0.1 localhost

Обновление: согласно комментариям я немного погуглил Googleled и похоже, что драйвер MySQL JDBC вообще не ест адреса IPv6. Другими словами, вам нужно изменить ::1 на 127.0.0.1. Но я также нашел эту тему, в которой упоминается, что вы можете использовать следующий аргумент JVM для исправления этой проблемы:

java -Djava.net.preferIPv4Stack=true 
7
ответ дан 5 December 2019 в 17:37
поделиться

В MySQL вы должны проверить доступ для вашего пользователя от localhost прямо. Вот пример (взятый из здесь ):

mysql> grant usage on *.* to amarokuser@localhost identified by 'amarokpasswd';
mysql> grant all privileges on amarokdb.* to amarokuser@localhost ;
1
ответ дан 5 December 2019 в 17:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: