Comment vérifier sur quel port tourne mysql

69

Sous Windows dev, mysql est exécuté sur le port 3306

Comment puis-je vérifier le port sur lequel il s'exécute sur le serveur Unix sur lequel je dois télécharger l'application?

Ankur
la source
Cela dépend de la façon dont vous pouvez accéder au serveur. Avez-vous un accès ssh, un accès client mysql ou une interface Web telle que phpMyAdmin?
Jonfhancock
Accès ssh - à travers du mastic
Ankur
Est-ce un hôte partagé? Si c'est le cas, plusieurs instances de MySQL peuvent s'exécuter, chacune sur un port différent.
John Gardeniers le
Non, c'est une configuration de machine virtuelle juste pour moi, alors il n'y a qu'une seule instance.
Ankur

Réponses:

87

J'ai fait

mysql> MONTRE LES VARIABLES GLOBALES COMME 'PORT';

Et cela indiquait que j'utilisais port 3306et que ma recherche de l'erreur se poursuit.

Ankur
la source
1
Cette commande permet de connaître toutes les variables globales. mysql> MONTRE LES VARIABLES GLOBALES;
Arun211
38

La meilleure façon de savoir quelle application écoute quelle interface et quel port doit être utilisénetstat

Vous pouvez le faire en tant que root :

netstat -tlnp

Il listera tous les services d'écoute comme ceci:

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 dernière colonne indique que mysqld est lié au port 3306 sur toutes les interfaces.

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

sybreon
la source
2
Le drapeau -p ne fonctionne que sur Linux, autant que je sache. (certainement pas Mac OS X, au moins)
jdizzle
1
devinez que vous êtes coincé avec lsof -i TCPalors.
sybreon
La commande Linux et la commande windows varient légèrement. Pour Windows, vous devez être surélevé et remplacer le p par un ab
IceMage le
6

Entrez via terminal to mysql:

mysql -u root

puis tapez ce qui suit dans l'invite mysql:

mysql> SHOW GLOBAL VARIABLES LIKE 'PORT';

Cela a fonctionné pour moi.

IgnacioAinol
la source
4

MySQL utilise par défaut le port 3306 à moins que vous ne spécifiiez une autre ligne dans le /etc/my.cnffichier de configuration.

Sauf si votre /etc/my.cnfcontient quelque chose comme

[mysqld]
port = 3308

Il est alors très probable que vous utilisiez le port par défaut.

Dave Cheney
la source
4

Si vous voulez vraiment vérifier qu'il fonctionne sur le port, vous pouvez connecter telnet au port pendant que le processus est en marche, comme ceci:

telnet localhost 3306

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

De manière alternative, vous pouvez trouver le PID du processus en utilisant ps et grep:

ps -ef | grep mysql

puis mettez ce pid dans lsof pour imprimer tous les descripteurs de fichiers ouverts. Vous trouverez le port auquel le processus est lié vers le haut.

Alex
la source
3

Une méthode alternative à celles déjà listées (et pas aussi bien mais bon, ça marche).

prompt>lsof -n | grep 'mysql.*TCP'
mysqld     1564     mysql   10u     IPv4            3246456       0t0        TCP *:mysql (LISTEN)
prompt>cat /proc/1564/net/tcp
  sl  local_address rem_address   st tx_queue rx_queue tr tm->when retrnsmt   uid  timeout inode
   0: 11AC11AC:0035 00000000:0000 0A 00000000:00000000 00:00000000 00000000     0        0 14299 1 ffff88012a429a00 299 0 0 2 -1
   1: 017AA8C0:0035 00000000:0000 0A 00000000:00000000 00:00000000 00000000     0        0 13871 1 ffff880129962080 299 0 0 2 -1
   2: 00000000:0016 00000000:0000 0A 00000000:00000000 00:00000000 00000000     0        0 12596 1 ffff880129960000 299 0 0 2 -1
   3: 0100007F:0277 00000000:0000 0A 00000000:00000000 00:00000000 00000000     0        0 11459 1 ffff88012a429380 299 0 0 2 -1
   4: 00000000:8D58 00000000:0000 0A 00000000:00000000 00:00000000 00000000     0        0 11315 1 ffff88012a428d00 299 0 0 2 -1
   5: 00000000:0019 00000000:0000 0A 00000000:00000000 00:00000000 00000000     0        0 12940 1 ffff880129960680 299 0 0 2 -1
   6: 0100007F:177A 00000000:0000 0A 00000000:00000000 00:00000000 00000000   500        0 3600557 1 ffff8800672dee80 299 0 0 2 -1
   7: 0100007F:177B 00000000:0000 0A 00000000:00000000 00:00000000 00000000   500        0 3603871 1 ffff88012a42ee80 299 0 0 2 -1
   8: 0100007F:177C 00000000:0000 0A 00000000:00000000 00:00000000 00000000     0        0 3608169 1 ffff88012a42f500 299 0 0 2 -1
   9: 0100007F:177D 00000000:0000 0A 00000000:00000000 00:00000000 00000000   500        0 3615687 1 ffff88012a42e180 299 0 0 2 -1
  10: 0100007F:00C7 00000000:0000 0A 00000000:00000000 00:00000000 00000000     0        0 3608454 1 ffff8800672db400 299 0 0 2 -1
  11: 00000000:0CEA 00000000:0000 0A 00000000:00000000 00:00000000 00000000    27        0 3246456 1 ffff8800672dba80 299 0 0 2 -1
  12: 00000000:024B 00000000:0000 0A 00000000:00000000 00:00000000 00000000     0        0 12944 1 ffff880129961380 299 0 0 2 -1
  13: 00000000:006F 00000000:0000 0A 00000000:00000000 00:00000000 00000000     0        0 10657 1 ffff88012a428680 299 0 0 2 -1
  14: 00000000:01D1 00000000:0000 0A 00000000:00000000 00:00000000 00000000     0        0 12942 1 ffff880129960d00 299 0 0 2 -1
  15: 0100007F:1DD2 00000000:0000 0A 00000000:00000000 00:00000000 00000000     0        0 3631325 1 ffff8800672da700 299 0 0 2 -1
  16: 0100007F:990B 0100007F:177B 01 00000000:00000000 02:0002F5D8 00000000   500        0 3610110 2 ffff8800672df500 20 3 26 4 19
  17: 0100007F:177B 0100007F:990C 01 00000000:00000000 00:00000000 00000000   500        0 3610124 1 ffff88012a42d480 20 3 0 5 -1
  18: 0100007F:990D 0100007F:177B 01 00000000:00000000 02:00031144 00000000   500        0 3610142 2 ffff8800672d9380 20 3 0 5 -1
  19: 0100007F:177B 0100007F:990B 01 00000000:00000000 00:00000000 00000000   500        0 3610111 1 ffff8800672dc100 21 3 29 4 -1
  20: 0100007F:177B 0100007F:9949 01 00000000:00000000 00:00000000 00000000   500        0 3611026 1 ffff8800672dad80 20 3 0 5 -1
  21: 0100007F:9912 0100007F:177B 01 00000000:00000000 02:0005D3D3 00000000   500        0 3610249 2 ffff8800672de180 20 3 0 3 -1
  22: 0100007F:177B 0100007F:990D 01 00000000:00000000 00:00000000 00000000   500        0 3610143 1 ffff8800672de800 20 3 1 5 -1
  23: 11AC11AC:0016 480111AC:9074 01 00000000:00000000 02:0002BCFF 00000000     0        0 3608096 2 ffff88012a428000 20 3 1 5 16
  24: 11AC11AC:0016 480111AC:8485 01 00000000:00000000 02:0005819F 00000000     0        0 3615610 2 ffff88012a42c100 20 3 1 5 -1
  25: 0100007F:177B 0100007F:9923 01 00000000:00000000 00:00000000 00000000   500        0 3610494 1 ffff88012a42ce00 20 3 0 5 -1
  26: 0100007F:990F 0100007F:177B 01 00000000:00000000 02:0003117F 00000000   500        0 3610209 2 ffff8800672dd480 20 3 0 5 -1
  27: 0100007F:9949 0100007F:177B 01 00000000:00000000 02:0005D3D3 00000000   500        0 3611025 2 ffff8800672ddb00 20 3 0 3 -1
  28: 0100007F:90CF 0100007F:177B 01 00000000:00000000 02:00004637 00000000   500        0 4049147 2 ffff8800672dc780 20 3 1 5 -1
  29: 11AC11AC:0016 480111AC:C273 01 00000000:00000000 02:00021D06 00000000     0        0 3600488 4 ffff88012a42a700 20 6 31 4 34
  30: 0100007F:177B 0100007F:90CF 01 00000000:00000000 00:00000000 00000000   500        0 4049148 1 ffff8800672d8680 20 3 0 5 -1
  31: 11AC11AC:0016 480111AC:C7C3 01 00000000:00000000 02:00093A92 00000000     0        0 3603799 2 ffff88012a42ba80 20 3 26 5 31
  32: 0100007F:177B 0100007F:9912 01 00000000:00000000 00:00000000 00000000   500        0 3610250 1 ffff8800672da080 20 3 0 5 -1
  33: 0100007F:177B 0100007F:990F 01 00000000:00000000 00:00000000 00000000   500        0 3610210 1 ffff8800672d9a00 20 3 1 5 -1
  34: 0100007F:990C 0100007F:177B 01 00000000:00000000 02:00031147 00000000   500        0 3610123 2 ffff88012a42ad80 20 3 1 5 -1
  35: 0100007F:9923 0100007F:177B 01 00000000:00000000 02:0005D3D3 00000000   500        0 3610493 2 ffff88012a42e800 20 3 16 3 -1
prompt>grep '^mysql:' /etc/passwd
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash
prompt>

La ligne uid 27 est le socket d’écoute du processus mysqld et 0CEA est un hex pour 3306.

Hlovdal
la source
1

Ok, cela fonctionne sur ma machine Linux, mais je ne suis pas sûr qu'Unix stockera le fichier cnf au même endroit.

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

Jonfhancock
la source
0

vous pouvez essayer de suivre le journal mysql .... essayez de courir

shell$> tail -f /var/log/mysql/mysqld.log

lors du redémarrage de mysql par

service mysqld stop/start

sur un autre terminal / onglet ssh. Le port sur lequel son écoute sera affichée dans le journal comme suit:

Version: '5.7.21-log'  socket: '/tmp/mysql.sock'  port: 3307  MySQL Community Server (GPL)
Anshuman Banerjee
la source
-2

Les commandes ci-dessus ne m'ont pas aidé dans mon mac.

J'avais l'habitude lsof -i TCP:3306de découvrir le processus mysqld. qui écoutait réellement dans * .mysql

Prasath Rajan
la source
1
Cette commande peut vous donner un PID si le numéro de port est le port par défaut 3306. Le numéro de l'original (OP) était différent de celui par défaut.
Kubanczyk le
J'ai donné un exemple .. Vous pouvez remplacer 3306 par n'importe quel autre port. Dans ce cas, son 3307.Command est correct.
Prasath Rajan le
1
La manière correcte utilise: sudo lsof -i :3306.
Bruno Wego le