Як перевірити, на якому сервері працює mysql порту


69

На моєму вікні Windows Dev box працює mysql на порт 3306

Як я можу перевірити, який порт працює на сервері Unix, на який я повинен завантажувати додаток.


Це залежить від способу доступу до сервера. Чи є у вас ssh-доступ, доступ до клієнта mysql або якийсь веб-інтерфейс, наприклад, phpMyAdmin?
jonfhancock

ssh доступ - через шпаклівку
Ankur

Це спільний хост? Якщо так, то може бути кілька екземплярів MySQL, що працюють на ньому, кожен з іншого порту.
Джон Гарденєр

Ні, це налаштування VM тільки для мене, тому є лише один екземпляр.
Анкур

Відповіді:


87

я робив

mysql> ПОКАЖИТИ ГЛОБАЛЬНІ ВАРІАБЛИ, ПОДОБИТИ «ПОРТ»

І це вказувало на те, що я використовую port 3306і що пошук помилки триває.


1
Ця команда допомагає знайти всі глобальні змінні. mysql> ПОКАЖИ ГЛОБАЛЬНІ ВАРІАБЛІ;
Arun211

38

Кращий спосіб на насправді знати , що додаток слухає , який інтерфейс і на який порт використовуватиnetstat

Це можна зробити як root :

netstat -tlnp

У ньому будуть перераховані всі служби прослуховування на кшталт цього:

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

Останній стовпець показує, що mysqld прив’язався до порту 3306, слухаючи на всіх інтерфейсах.

Насправді це працює для всього, а не тільки mysql. Ви також можете використовувати його без розеток TCP.


2
прапор -p працює лише на Linux, afaik. (безумовно, не для Mac OS X, принаймні)
jdizzle

1
здогадуйтесь, що ви lsof -i TCPтоді застрягли .
sybreon

Команда Linux та команда Windows незначно відрізняються. Для Windows, ви повинні бути підвищеними, а p замінити на ab
IceMage

6

Введіть через термінал до mysql:

mysql -u root

а потім введіть у запит mysql таке:

mysql> SHOW GLOBAL VARIABLES LIKE 'PORT';

Це працювало для мене.


4

Параметри MySQL порту 3306, якщо ви не вказали інший рядок у /etc/my.cnfконфігураційному файлі.

Якщо у вас /etc/my.cnfє щось подібне

[mysqld]
port = 3308

Тоді дуже ймовірно, що ви використовуєте порт за замовчуванням.


4

Якщо ви дійсно хочете підтвердити, що він працює на порту, ви можете зателефонувати до порту, поки процес працює так:

telnet localhost 3306

Ви побачите, що він повідомляє, що ви підключені до mySQL.

Побічно, ви можете знайти PID процесу за допомогою ps та grep:

ps -ef | grep mysql

а потім покладіть цей pid у lsof, щоб надрукувати всі дескриптори відкритого файлу. Ви знайдете порт, до якого процес зобов’язаний розташовуватися біля верху.


3

Альтернативний метод уже перерахованим (і не такий хороший, але ей, він працює).

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>

Рядок uid 27 - це розетка прослуховування процесу mysqld, а 0CEA - шістнадцятковий для 3306.


1

Гаразд, це працює на моєму linux box, але я не впевнений, що Unix збереже файл cnf в тому самому місці.

кішка /etc/mysql/my.cnf | grep 'порт'


0

ви можете спробувати підписати журнал mysql .... спробуйте запустити

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

під час перезавантаження mysql by

service mysqld stop/start

на іншому терміналі / вкладці ssh. Порт, на якому його прослуховування відображатиметься в журналі, таким чином:

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

-2

вище команди не допомогли мені в моєму mac.

Я використовував lsof -i TCP:3306для того, щоб дізнатися процес mysqld. що насправді переслідувало * .mysql


1
Ця команда може дати вам PID, якщо номер порту за замовчуванням 3306. Оригінальний плакат (OP) мав номер, що не використовується за замовчуванням.
kubanczyk

Я дав зразок .. 3306 можна замінити будь-яким іншим портом. У цьому випадку його 3307.Команда прав.
Prasath Rajan

1
Правильний спосіб використовує: sudo lsof -i :3306.
Бруно Вего
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.