He instalado MySQL e incluso he iniciado sesión allí como usuario.
Pero cuando trato de conectarme así:
http://localhost:3306
mysql://localhost:3306
Ninguno de los dos funciona. No estoy seguro si se supone que ambos funcionan, pero al menos uno de ellos debería :)
¿Cómo puedo asegurarme de que el puerto sea 3306? ¿Hay un comando de Linux para verlo de alguna manera? Además, ¿hay una forma más correcta de probarlo a través de una URL?
-p
parámetro. Agregar los procesos realmente ayuda a que esta información sea más útil.man netstat
.Usando el cliente Mysql:
fuente
grep port /etc/mysql/my.cnf
(al menos en debian / ubuntu funciona)o
verificar
en /etc/mysql/my.cnf para ver posibles restricciones
fuente
Mostrará la lista algo así como a continuación:
Úselo como raíz para todos los detalles. La
-t
opción limita la salida a las conexiones TCP,-l
para puertos de escucha,-p
enumera el nombre del programa y-n
muestra la versión numérica del puerto en lugar de una versión con nombre.De esta manera puede ver el nombre del proceso y el puerto.
fuente
Pruebe solo con la opción
-e
(--execute
):Reemplace
root
por su "nombre de usuario" y "contraseña"fuente
Ambas URL son incorrectas - deberían ser
Pensé que era evidente, pero conectarse a una base de datos con Java requiere un controlador JDBC. Necesitará el controlador MySQL JDBC .
Tal vez pueda conectarse usando un socket a través de TCP / IP. Mira los documentos de MySQL .
Ver http://dev.mysql.com/doc/refman/5.0/en/connector-j-reference-configuration-properties.html
ACTUALIZAR:
Traté de hacer telnet en MySQL (
telnet ip 3306
), pero no funciona:http://lists.mysql.com/win32/253
Creo que esto es lo que tenías en mente.
fuente
Un enfoque más simple para algunos: si solo desea verificar si MySQL está en un puerto determinado, puede usar el siguiente comando en la terminal. Probado en mac. 3306 es el puerto predeterminado.
mysql --host=127.0.0.1 --port=3306
Si inicia sesión con éxito en el terminal shell de MySQL, ¡está bien! Este es el resultado que obtengo en un inicio de sesión exitoso.
fuente
3306 es el puerto predeterminado para mysql. Compruébalo con:
debería dar este resultado:
tcp 0 0 127.0.0.1:3306 0.0.0.0:* ESCUCHAR
fuente
puedes usar
fuente
Para mí, la respuesta de @joseluisq arrojó:
Pero funcionó de esta manera:
fuente
En una Mac OS X, hay dos opciones.
netstat
olsof
Usar
netstat
no mostrará el proceso en Mac OS X. por lo tanto, usando netstat solo puede buscar por puerto.El uso
lsof
mostrará el nombre del proceso.Hice lo siguiente cuando me encontraba con conflictos de puertos (contenedores de acopladores):
netstat -aln | grep 3306
Salidas:
tcp46 0 0 *.3306 *.* LISTEN
sudo lsof -i -P | grep -i "LISTEN" | grep -i 3306
Salidas:
mysqld 60608 _mysql 31u IPv6 0x2ebc4b8d88d9ec6b 0t0 TCP *:3306 (LISTEN)
fuente
Si está en un sistema donde
netstat
no está disponible (por ejemplo, RHEL 7 y versiones más recientes de Debian) puede usarss
, como se muestra a continuación:Y obtendrá algo como lo siguiente para la salida:
La cuarta columna es
Local Address:Port
. Entonces, en este caso, Mysql está escuchando en el puerto 3306, el valor predeterminado.fuente
Estoy de acuerdo con la solución de @ bortunac. my.conf es específico de mysql, mientras que netstat le proporcionará todos los puertos de escucha.
Quizás use ambos, uno para confirmar cuál es el puerto configurado para mysql y el otro para verificar que el sistema esté escuchando a través de ese puerto.
Mi cliente usa CentOS 6.6 y he encontrado el archivo my.conf en / etc /, así que usé:
grep port /etc/my.conf
(CentOS 6.6)fuente