Cada vez que intento utilizar JDBC para conectarse a un servidor MySQL local (que funciona en toneladas de otros clientes de SQL), que no se conecta en absoluto y me sale una excepción:
- Excepción en hilo "principal" com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Comunicaciones fallo de enlace
- .... seguimiento de la pila ....
- causada por: java.net. SocketException: argumento inválido: connect
información más detallada:
Tengo un servidor local que ejecuta MySQL que puedo conectar a con el uso de la siguiente información:
- dirección: 127.0.0.1 localhost o (ambos trabajo)
- puerto: 3306
- y mi nombre de usuario/contraseña/db nombrar
Utilización de las aplicaciones: HeidiSQL, phpMyAdmin, MySQL Workbench y mysqladmin
Correr mysqladmin versión confirma que el servidor está activo, trabajando, y tiene habilitado el protocolo TCP/IP.
Haciendo mysqladmin variables muestra que "skip_networking" está desactivado (ver a continuación la configuración completa).
El registro de MySQL no muestra nada fuera de lo común (también a continuación).
Estoy usando el conector JDBC v5.1.15, mysql-connector-java-5.1.15-bin.jar. Está en mi ruta de clase de proyecto con Eclipse.
Todos los firewalls de Windows 7 (Ultimate, 64bit si es necesario) están apagados.
Sin embargo, sigo recibiendo el error de seguimiento de la pila como se muestra a continuación. No puedo, por la vida de mí, descubrir qué ocurre cuando todo lo demás se puede conectar bien ...
He tratado de incluir toda la información relevante a continuación. Espero que sea algo simple y estúpido que he pasado por alto y no puedo encontrar porque estoy buscando demasiado ... pero eh quién sabe:/heh.
He intentado todo lo que he podido encontrar en otras preguntas similares en línea, pero nada parece funcionar (incl.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 y otros)
Mi código de prueba:
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);
}
}
Seguimiento de la pila: http://pastebin.com/qv332y86
variables de MySQL volcado: http://pastebin.com/merSEDdD
my.ini: http://pastebin.com/EWZX2enz
MySQL mysqladmin versio n:
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
log de MySQL:
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
http://stackoverflow.com/questions/8216713/java-net-socketexception-invalid-argument-connect parece sugerir una problema con IPV6. ¿Es eso lo que estás usando? –
+1: pregunta bien escrita. Además, ¿ha intentado cambiar la cadena de conexión a 127.0.0.1 como sugiere [este comentario] (http://stackoverflow.com/questions/8216713/java-net-socketexception-invalid-argument-connect#comment10343027_8347425)? – Deco
¿Quizás su firewall bloquea las conexiones para java.exe? –