Cara memeriksa port apa yang sedang dijalankan mysql

69

Pada kotak dev jendela mysql saya berjalan pada port 3306

Bagaimana saya bisa memeriksa port apa yang sedang berjalan di server unix yang saya harus unggah aplikasi.

Ankur
sumber
Itu tergantung pada bagaimana Anda dapat mengakses server. Apakah Anda memiliki akses ssh, akses klien mysql, atau antarmuka web seperti phpMyAdmin?
jonfhancock
akses ssh - melalui dempul
Ankur
Apakah ini host bersama? Jika demikian, mungkin ada beberapa contoh MySQL yang berjalan di sana, masing-masing pada port yang berbeda.
John Gardeniers
Tidak, ini hanya pengaturan VM untuk saya, jadi hanya ada satu contoh.
Ankur

Jawaban:

87

aku melakukannya

mysql> TAMPILKAN VARIABEL GLOBAL SEPERTI 'PELABUHAN';

Dan itu menunjukkan bahwa saya menggunakan port 3306dan pencarian saya untuk kesalahan berlanjut.

Ankur
sumber
1
Perintah ini membantu untuk mengetahui semua variabel global. mysql> TAMPILKAN VARIABEL GLOBAL;
Arun211
38

Cara terbaik untuk benar-benar mengetahui aplikasi apa yang mendengarkan antarmuka mana dan pada port apa yang akan digunakannetstat

Anda dapat melakukan ini sebagai root :

netstat -tlnp

Ini akan mencantumkan semua layanan mendengarkan seperti ini:

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

Kolom terakhir menunjukkan kepada Anda bahwa mysqld terikat sendiri ke port 3306 mendengarkan pada semua antarmuka.

Bahkan, ini bekerja untuk semuanya, bukan hanya mysql. Anda juga dapat menggunakannya bukan soket TCP.

sybreon
sumber
2
flag -p hanya berfungsi di linux, afaik. (pasti bukan Mac OS X, setidaknya)
jdizzle
1
tebak bahwa Anda terjebak dengan lsof -i TCPitu.
sybreon
Perintah Linux dan perintah windows sedikit berbeda. Untuk Windows, Anda harus lebih tinggi, dan ganti p dengan ab
IceMage
6

Masukkan via terminal ke mysql:

mysql -u root

dan kemudian ketik berikut ini di prompt mysql:

mysql> SHOW GLOBAL VARIABLES LIKE 'PORT';

Ini berhasil untuk saya.

IgnacioAinol
sumber
4

MySQL default ke port 3306 kecuali jika Anda menentukan baris lain di /etc/my.cnffile konfigurasi.

Kecuali jika Anda /etc/my.cnfmengandung sesuatu seperti

[mysqld]
port = 3308

Maka sangat mungkin Anda menggunakan port default.

Dave Cheney
sumber
4

Jika Anda benar-benar ingin mengonfirmasi bahwa itu berjalan di port Anda dapat telnet ke port saat prosesnya naik seperti ini:

telnet localhost 3306

Anda akan melihatnya melaporkan bahwa Anda terhubung ke mySQL.

Secara alternatif, Anda dapat menemukan PID proses menggunakan ps dan grep:

ps -ef | grep mysql

dan kemudian masukkan pid itu ke lsof untuk mencetak semua deskriptor file yang terbuka. Anda akan menemukan port yang terikat pada proses di dekat bagian atas.

Alex
sumber
3

Metode alternatif untuk yang sudah terdaftar (dan tidak sebagus tapi hei, itu berhasil).

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>

Saluran uid 27 adalah soket mendengarkan proses mysqld, dan 0CEA adalah hex untuk 3306.

hlovdal
sumber
1

Ok, ini berfungsi pada kotak linux saya, tapi saya tidak yakin Unix akan menyimpan file cnf di tempat yang sama.

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

jonfhancock
sumber
0

Anda dapat mencoba mengekor log mysql .... coba jalankan

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

saat me-restart mysql oleh

service mysqld stop/start

di terminal / tab ssh lainnya. Port tempat mendengarkannya akan ditampilkan dalam log sebagai berikut:

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

perintah di atas tidak membantu saya di mac saya.

Saya dulu lsof -i TCP:3306mencari tahu proses mysqld. yang sebenarnya mendengarkan ke * .mysql

Prasath Rajan
sumber
1
Perintah ini dapat memberi Anda PID jika nomor port adalah 3306 default. Poster Asli (OP) memiliki nomor non-default.
kubanczyk
Saya memberi sampel .. Anda dapat mengganti 3306 dengan port lain. Dalam hal ini 3307.Command-nya benar.
Prasath Rajan
1
Cara yang benar adalah dengan menggunakan: sudo lsof -i :3306.
Bruno Wego