Hangi port mysql'nin çalıştığını kontrol etme


69

Pencerelerimde dev box mysql 3306 portunda çalışıyor

Uygulamayı yüklemek zorunda olduğum unix sunucusunda hangi portun çalıştığını nasıl kontrol edebilirim.


Bu, sunucuya nasıl erişebileceğinize bağlıdır. Ssh erişiminiz, mysql istemci erişiminiz veya phpMyAdmin gibi bir web arayüzünüz var mı?
jonfhancock

ssh erişimi - macun içinden
Ankur

Bu paylaşılan bir ev sahibi mi? Öyleyse, her biri farklı bir bağlantı noktasında çalışan birden fazla MySQL örneği olabilir.
John Gardeniers

Hayır, sadece benim için bir VM kurulumu, bu yüzden sadece bir örnek var.
Ankur

Yanıtlar:


87

yaptım

mysql> 'PORT' GİBİ KÜRESEL DEĞİŞKENLERİ GÖSTER;

Bu da kullandığımı port 3306ve hatayı aramaya devam ettiğimi gösterdi .


1
Bu komut tüm global değişkenleri bulmaya yardımcı olur. mysql> GÖSTERISI DEĞİŞKENLERİ GÖSTER;
Arun211

38

İyi kullanmak ne liman yolu aslında uygulama hangi arayüze ve dinleme olup bittiğini bilmeknetstat

Bunu root olarak yapabilirsiniz :

netstat -tlnp

Bunun gibi tüm dinleme hizmetlerini listeler:

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

Son sütun, mysqld'in tüm arayüzleri dinleyerek bağlantı noktası 3306'ya bağlandığını gösterir.

Aslında, bu sadece mysql için değil, her şey için işe yarıyor. TCP olmayan soketleri de kullanabilirsiniz.


2
-p bayrağı yalnızca linux, afaik'te çalışır. (kesinlikle Mac OS X değil, en azından)
jdizzle

1
Sanırım o zaman sıkıştın lsof -i TCP.
sybreon

Linux komutu ve windows komutu biraz değişebilir. Windows için yükseltilmeli ve p'yi ab ile değiştirmelisiniz
IceMage

6

MySQL'e terminalden giriniz:

mysql -u root

ve sonra mysql isteminde aşağıdakileri yazın:

mysql> SHOW GLOBAL VARIABLES LIKE 'PORT';

Bu benim için çalıştı.


4

/etc/my.cnfConfig dosyasında başka bir satır belirtmediğiniz sürece, MySQL varsayılan olarak 3306 portunu kullanır .

Seninki /etc/my.cnfgibi bir şey içermiyorsa

[mysqld]
port = 3308

O zaman varsayılan portu kullanıyor olmanız çok muhtemeldir.


4

Bağlantı noktasının gerçekten çalıştığını doğrulamak istiyorsanız, işlem şu şekilde iken bağlantı noktasına telnet yapabilirsiniz:

telnet localhost 3306

MySQL'e bağlı olduğunuzu rapor ederken göreceksiniz.

Alernat olarak, işlemin PID'sini ps ve grep kullanarak bulabilirsiniz:

ps -ef | grep mysql

ve sonra tüm açık dosya tanımlayıcılarını yazdırmak için bu pideyi lsof'a koyun. İşlemin zirveye yakın olduğu limanı bulacaksınız.


3

Listelenenlere alternatif bir yöntem (ve iyi değil ama hey, çalışıyor).

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>

Kullanıcı kimliği 27, mysqld işleminin dinleme soketidir ve 0CEA, 3306 için altıgendir.


1

Tamam, bu linux kutumda çalışıyor, ancak Unix'in cnf dosyasını aynı yerde saklayacağından emin değilim.

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


0

MySQL günlüğü tailing deneyebilirsiniz .... çalışmayı deneyin

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

tarafından mysql yeniden başlatılırken

service mysqld stop/start

başka bir ssh terminalinde / sekmesinde. Dinlemesinin yapılacağı port, kayıt defterinde aşağıdaki gibi görüntülenecektir:

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

-2

Yukarıdaki komutlar Mac'imde bana yardımcı olmadı.

lsof -i TCP:3306MySQL sürecini bulmak için kullanılır . hangi aslında * .mysql içine dinliyordu


1
Bağlantı noktası numarası varsayılan 3306 ise, bu komut size PID verebilir. Orijinal Poster (OP) varsayılan olmayan bir sayıya sahipti.
kubanczyk

Bir örnek verdim .. 3306'yı başka bir portla değiştirebilirsiniz. Bu durumda, 3307. Komut yine de doğrudur.
Prasath Rajan

1
Doğru yolu kullanıyor: sudo lsof -i :3306.
Bruno Wego
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.