4.3.3 Подключение с помощью сокетов Unix и именованных каналов Windows
В Unix-системах подключения MySQL Shell по умолчанию используют сокеты Unix, если выполняются следующие условия:
Порт TCP не указан.
Имя хоста не указано или оно равно
localhost.Указан параметр
--socketили-S, с или без пути к файлу сокета.
Если вы укажете --socket без значения и знака равенства, или -S без значения, будет использован стандартный файл сокета Unix для протокола. Если вы укажете путь к альтернативному файлу сокета Unix, будет использован этот файл.
Если имя хоста указано, но оно не localhost, устанавливается TCP-соединение. В этом случае, если порт TCP не указан, используется значение по умолчанию 3306.
В Windows для подключений MySQL Shell, использующих классический протокол MySQL, если вы укажете имя хоста как точку (.), MySQL Shell подключается через именованный канал.
Если вы подключаетесь с помощью строкового значения подключения в формате URI, укажите
user@.Если вы подключаетесь с помощью пар ключ-значение, укажите
{"host": "."}Если вы подключаетесь с помощью отдельных параметров, укажите
--host=.или-h .
По умолчанию используется имя канала MySQL. Вы можете указать альтернативный именованный канал с помощью параметра --socket или в строке подключения в формате URI.
В строках в формате URI путь к файлу сокета Unix или именованному каналу Windows должен быть закодирован, используя кодирование процентов или заключая путь в скобки. Скобки устраняют необходимость в кодировании процентов таких символов, как / разделитель каталогов. Если путь к файлу сокета Unix включён в строку URI в качестве части строки запроса, ведущий слэш должен быть закодирован процентами, но если он заменяет имя хоста, ведущий слэш не должен быть закодирован процентами, как показано в следующих примерах:
mysql-js> \connect user@localhost?socket=%2Ftmp%2Fmysql.sock
mysql-js> \connect user@localhost?socket=(/tmp/mysql.sock)
mysql-js> \connect user@/tmp%2Fmysql.sock
mysql-js> \connect user@(/tmp/mysql.sock)
Только в Windows, именованный канал должен быть префиксным символами \\.\, а также закодирован с использованием кодирования процентов или заключён в скобки, как показано в следующих примерах:
(\\.\named:pipe)
\\.\named%3Apipe
В Windows, если одна или несколько сессий MySQL Shell подключены к экземпляру MySQL Server с помощью именованного канала, и вам нужно остановить сервер, вы должны сначала закрыть сессии MySQL Shell. Сессии, которые всё ещё подключены таким образом, могут привести к зависанию сервера во время процедуры остановки. Если это произойдёт, выйдите из MySQL Shell, и сервер продолжит процедуру остановки.
Дополнительную информацию о подключении с использованием файлов сокетов Unix и именованных каналов Windows см. в и .
© 2025 Oracle
Licensed under the GPLv2 License.