TL; DR:
Каждый раз, когда я пытаюсь использовать JDBC для подключения к локальному серверу MySQL (который работает на множестве других клиентов sql), он вообще не подключается, и я получаю исключение:
- Исключение в потоке "main" com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: сбой линии связи
- .... трассировка стека ....
- Причина: java.net.SocketException: неверный аргумент: connect
Более подробная информация:
У меня работает локальный сервер MySQL, к которому я могу подключиться, используя следующую информацию:
- адрес: localhost или 127.0.0.1 (оба работают)
- порт: 3306
- и мое имя пользователя / пароль / имя базы данных
Использование приложений: HeidiSQL, phpmyadmin, MySQL Workbench и mysqladmin
Запуск mysqladmin version подтверждает, что сервер работает, работает и включен tcp / ip.
Выполнение переменных mysqladmin показывает, что «skip_networking» выключен (полный текст конфигурации приведен ниже).
В журнале MySQL нет ничего необычного (также ниже).
Я использую JDBC-соединитель v5.1.15, mysql-connector-java-5.1.15-bin.jar. Это в моем пути к классам проекта с Eclipse.
Все брандмауэры Windows 7 (Ultimate, 64-битные, если это имеет значение) отключены.
Тем не менее, я все еще получаю ошибку трассировки стека, как показано ниже. Я не могу на всю жизнь понять, что не так, когда все остальное в состоянии нормально соединиться ...
Я попытался включить всю необходимую информацию ниже. Я надеюсь, что это просто что-то простое и глупое, что я упустил из виду и не могу найти, потому что я смотрю слишком усердно ... но кто знает: / хех.
Я перепробовал все, что смог найти в других подобных вопросах в Интернете, но, похоже, ничего не работает (вкл. https://stackoverflow.com/a/2985169/211750, https://stackoverflow.com/a/2103092/211750, https://serverfault.com/questions/89955/unable-to-connect-to-mysql-through-jdbc-connector-through-tomcat-or-externally и другие )
Мой тестовый код:
package sqltest;
import com.mysql.jdbc.Driver;
import java.sql.DriverManager;
import java.util.Properties;
public class main {
public static void main(String[] args) throws Exception {
String url = "jdbc:mysql://localhost:3306/dbname?user=user&password=****&";
Driver driver = (Driver) Class.forName("com.mysql.jdbc.Driver").newInstance();
DriverManager.getConnection(url);
}
}
Трассировка стека: http://pastebin.com/qv332y86
Дамп переменных MySQL: http://pastebin.com/merSEDdD
My.ini: http://pastebin.com/EWZX2enz
MySQL версия mysqladmin :
Server version 5.5.20-log
Protocol version 10
Connection localhost via TCP/IP
TCP port 3306
Uptime: 1 min 37 sec
Threads: 1 Questions: 17 Slow queries: 0 Opens: 33 Flush tables: 1 Open tables: 26 Queries per second avg: 0.175
MySQL log:
120314 21:37:20 [Note] Plugin 'FEDERATED' is disabled.
120314 21:37:20 InnoDB: The InnoDB memory heap is disabled
120314 21:37:20 InnoDB: Mutexes and rw_locks use Windows interlocked functions
120314 21:37:20 InnoDB: Compressed tables use zlib 1.2.3
120314 21:37:20 InnoDB: Initializing buffer pool, size = 128.0M
120314 21:37:20 InnoDB: Completed initialization of buffer pool
120314 21:37:20 InnoDB: highest supported file format is Barracuda.
120314 21:37:20 InnoDB: Waiting for the background threads to start
120314 21:37:21 InnoDB: 1.1.8 started; log sequence number 1619921
120314 21:37:21 [Note] Event Scheduler: Loaded 0 events
120314 21:37:21 [Note] wampmysqld: ready for connections.
Version: '5.5.20-log' socket: '' port: 3306 MySQL Community Server (GPL)
120314 21:38:02 [Note] wampmysqld: Normal shutdown
120314 21:38:02 [Note] Event Scheduler: Purging the queue. 0 events
120314 21:38:02 InnoDB: Starting shutdown...
120314 21:38:02 InnoDB: Shutdown completed; log sequence number 1619921
120314 21:38:02 [Note] wampmysqld: Shutdown complete