Використовуючи клієнт MySQL (наприклад mysql
), як я можу визначити, підключений він до сервера за допомогою файлу сокет Unix або за допомогою TCP / IP?
Використовуючи клієнт MySQL (наприклад mysql
), як я можу визначити, підключений він до сервера за допомогою файлу сокет Unix або за допомогою TCP / IP?
Відповіді:
Спробуйте скористатися, netstat -ln | grep 'mysql'
і ви зможете побачити, як це пов'язано з виходом. якщо у вас є доступ до оболонки
У Unix програми MySQL трактують ім'я хоста localhost спеціально таким чином, який, ймовірно, відрізняється від очікуваного у порівнянні з іншими мережевими програмами. Для підключення до localhost програми MySQL намагаються підключитися до локального сервера за допомогою файлу сокет Unix.
Це трапляється, навіть якщо задано номер --port
або -P
параметр для вказування номера порту.
Якщо yould хтозна тип з'єднання з в інтерфейсі командного рядка MySQL, використовуйте «\» и команди (статус).
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, вкажіть --protocol
параметр:
shell> mysql --host=localhost --protocol=TCP
Підключення файлу сокет Unix швидше, ніж TCP / IP, але його можна використовувати лише під час підключення до сервера на тому ж комп'ютері.