Как я могу определить метод соединения, используемый клиентом MySQL?

2.6.32-29: 2.6.32: основное ядро,-29 финальных версий человечностью

2.6.32-29.58: 2.6.32: основное ядро,-29.58 продолжающихся выпусков (-29) человечностью

2.6.11.10: 2.6.11: основное ядро.10 десятых выпусков патча его. (2.6.11 был выбран волонтерами (считайте Greg KH), чтобы быть "долгосрочным обслуживанием" выпуск).

9
19.02.2012, 21:29
1 ответ

Нахождение транспорта

Попытайтесь использовать netstat -ln | grep 'mysql' и Вы видите, как это соединено выводом. если у Вас есть доступ к оболочке

На Unix программы MySQL рассматривают имя хоста localhost особенно, способом который, вероятно, отличается от того, что Вы ожидаете по сравнению с другими основанными на сети программами. Для соединений с localhost программы MySQL пытаются соединиться с локальным сервером при помощи файла сокета Unix.

Это происходит даже если a --port или -P опция дана для определения номера порта.

Если yould нравится знать тип соединения из mysql CLI, используйте \s '(состояние) команда.

mysql> \s

Вывод имел бы строку как одно из следующих (на Unix).

Connection:             127.0.0.1 via TCP/IP

или

Connection:             Localhost via UNIX socket

Принуждение конкретного транспорта

Чтобы гарантировать, что клиент устанавливает связь TCP/IP с локальным сервером, использовать --host или -h указывать значение имени хоста 127.0.0.1, или IP-адрес или название локального сервера. Можно также указать протокол подключения явно, даже для localhost, при помощи --protocol=TCP опция. Например:

shell> mysql --host=127.0.0.1
shell> mysql --protocol=TCP

--protocol={TCP|SOCKET|PIPE|MEMORY} опция явно указывает протокол для использования для соединения с сервером. Полезно, когда другие параметры соединения обычно заставляли бы протокол использоваться кроме того, Вы хотите. Например, связи на Unix к localhost установлены с помощью файла сокета Unix по умолчанию:

shell> mysql --host=localhost

Чтобы вынудить соединение TCP/IP использоваться вместо этого, укажите a --protocol опция:

shell> mysql --host=localhost --protocol=TCP

Типы протокола:

  • TCP: соединение TCP/IP с локальным или удаленным сервером. Доступный на всех платформах.
  • СОКЕТ: соединение файла сокета Unix с локальным сервером. Доступный на Unix только.
  • КАНАЛ: соединение именованного канала с локальным или удаленным сервером. Доступный на окнах только.
  • ПАМЯТЬ: сопряжение с общей памятью с локальным сервером. Доступный на окнах только.

Соединение файла сокета Unix быстрее, чем TCP/IP, но может использоваться только при соединении с сервером на том же компьютере.

12
27.01.2020, 20:06
  • 1
    @Anil: спасибо, Вы сделали это превосходным ответом. –  Eugene Yarmash 21.02.2012, 14:40

Теги

Похожие вопросы