83 votes

Comment vérifier sur quel port MySQL tourne

Sur ma machine de développement Windows, mysql fonctionne sur le port 3306

Comment puis-je vérifier sur quel port il fonctionne sur le serveur Unix sur lequel je dois télécharger l'application.

0 votes

Cela dépend de la manière dont vous pouvez accéder au serveur. Avez-vous un accès ssh, un accès client mysql ou une interface web comme phpMyAdmin?

0 votes

Accès SSH - via Putty

0 votes

S'agit-il d'un serveur partagé? Si c'est le cas, il peut y avoir plusieurs instances de MySQL s'exécutant dessus, chacune sur un port différent.

104voto

Ankur Points 2369

J'ai fait

mysql> AFFICHER LES VARIABLES GLOBALES COMME 'PORT';

Et cela a indiqué que j'utilisais port 3306 et que ma recherche d'erreur se poursuit.

1 votes

Cette commande permet de trouver toutes les variables globales. mysql> SHOW GLOBAL VARIABLES;

43voto

La meilleure façon de savoir quel application écoute quelle interface et sur quel port est d'utiliser netstat

Vous pouvez le faire en tant que root:

netstat -tlnp

Cela listera tous les services en écoute comme ceci:

Connexions Internet actives (serveurs uniquement)
Proto Recv-Q Send-Q Adresse locale           Adresse distante        Etat        PID/Nom du programme
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      25934/mysqld
tcp6       0      0 :::22                   :::*                    LISTEN      7964/dropbear

La dernière colonne vous montre que mysqld s'est lié au port 3306 en écoutant sur toutes les interfaces.

En fait, cela fonctionne pour tout, pas seulement mysql. Vous pouvez également l'utiliser pour des sockets non TCP.

2 votes

Le drapeau -p ne fonctionne que sous Linux, autant que je sache. (certainement pas sur Mac OS X, du moins)

2 votes

Devine que vous êtes bloqué avec lsof -i TCP alors.

0 votes

Les commandes Linux et Windows sont légèrement différentes. Pour Windows, vous devez être en élévation et remplacer le p par un b.

7voto

IgnacioAinol Points 71

Entrez via le terminal dans mysql:

mysql -u root

et ensuite tapez la commande suivante dans l'invite mysql:

mysql> SHOW GLOBAL VARIABLES LIKE 'PORT';

Cela a fonctionné pour moi.

5voto

Brannon Points 12633

Si vous voulez vraiment confirmer qu'il fonctionne sur le port, vous pouvez vous connecter en utilisant telnet sur le port lorsque le processus est en cours d'exécution comme ceci :

telnet localhost 3306

Vous verrez qu'il indique que vous êtes connecté à MySQL.

Alternativement, vous pouvez trouver l'ID du processus en utilisant ps et grep :

ps -ef | grep mysql

puis mettre cet ID dans lsof pour afficher tous les descripteurs de fichiers ouverts. Vous trouverez le port auquel le processus est lié près du haut.

4voto

Dave Cheney Points 18132

MySQL se connecte par défaut au port 3306 sauf si vous spécifiez une autre ligne dans le fichier de configuration /etc/my.cnf.

À moins que votre fichier /etc/my.cnf ne contienne quelque chose comme

[mysqld]
port = 3308

Alors il est très probable que vous utilisiez le port par défaut.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X