83 votos

Cómo verificar en qué puerto está ejecutándose mysql

En mi caja de desarrollo de Windows, MySQL se está ejecutando en el puerto 3306

¿Cómo puedo verificar en qué puerto se está ejecutando en el servidor Unix al que debo cargar la aplicación?

0 votos

Eso depende de cómo puedas acceder al servidor. ¿Tienes acceso ssh, acceso al cliente de mysql o alguna interfaz web como phpMyAdmin?

0 votos

Acceso ssh - a través de putty

0 votos

¿Es este un host compartido? Si es así, puede haber varias instancias de MySQL en funcionamiento en él, cada una en un puerto diferente.

104voto

Ankur Puntos 304

Lo hice

mysql> SHOW VARIABLES GLOBALES COMO 'PORT';

Y eso indicaba que estaba usando puerto 3306 y que mi búsqueda del error continúa.

1 votos

Esta comando ayuda a encontrar todas las variables globales. mysql> SHOW GLOBAL VARIABLES;

43voto

La mejor manera de saber qué aplicación está escuchando en qué interfaz y en qué puerto es usar netstat

Puedes hacer esto como root:

netstat -tlnp

Mostrará todos los servicios en escucha de esta manera:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      25934/mysqld
tcp6       0      0 :::22                   :::*                    LISTEN      7964/dropbear

La última columna te muestra que mysqld se enlazó al puerto 3306 escuchando en todas las interfaces.

De hecho, esto funciona para todo, no solo para mysql. También puedes usarlo para sockets no TCP.

2 votos

El flag -p solo funciona en linux, que yo sepa. (definitivamente no en Mac OS X, al menos)

2 votos

Adivina que estás atrapado con lsof -i TCP entonces.

0 votos

El comando de Linux y el comando de Windows varían ligeramente. Para Windows, debes tener privilegios elevados y reemplazar la p con una b.

5voto

Brannon Puntos 12633

Si realmente quieres confirmar que se está ejecutando en el puerto, puedes conectarte al puerto a través de telnet mientras el proceso está activo de la siguiente manera:

telnet localhost 3306

Verás que informará que estás conectado a MySQL.

Alternativamente, puedes encontrar el PID del proceso usando ps y grep:

ps -ef | grep mysql

y luego colocar ese PID en lsof para imprimir todos los descriptores de archivo abiertos. Encontrarás el puerto al que está enlazado el proceso cerca de la parte superior.

4voto

Dave Cheney Puntos 13302

MySQL se establece en el puerto 3306 por defecto a menos que especifiques otra línea en el archivo de configuración /etc/my.cnf.

A menos que tu archivo /etc/my.cnf contenga algo como

[mysqld]
port = 3308

Entonces es muy probable que estés utilizando el puerto predeterminado.

1voto

jonfhancock Puntos 221

Ok, esto funciona en mi caja de Linux, pero no estoy seguro de que Unix guardará el archivo cnf en el mismo lugar.

cat /etc/mysql/my.cnf | grep 'port'

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X