Spec-Zone.ru › MySQL 5.7

4.2.5 Протоколы транспортного соединения

Для программ, использующих библиотеку клиента MySQL (например, mysql и mysqldump), MySQL поддерживает соединения с сервером, основанные на нескольких транспортных протоколах: TCP/IP, файле Unix-сокет, именованной трубе и общей памяти. В этом разделе описано, как выбрать эти протоколы и как они похожи и отличаются.

  • Выбор транспортного протокола

  • Поддержка транспортных соединений для локальных и удаленных подключений

  • Интерпретация localhost

  • Особенности шифрования и безопасности

  • Сжатие соединения

Выбор транспортного протокола

Для данного соединения, если протокол транспорта не указан явно, он определяется неявно. Например, соединения с localhost приводят к соединению с файлом сокета на системах Unix и Unix-подобных системах, и к соединению TCP/IP с 127.0.0.1 в противном случае. Дополнительную информацию см. в Разделе 4.2.4, «Подключение к серверу MySQL с помощью командных параметров».

Чтобы явно указать протокол, используйте параметр команды --protocol. В следующей таблице показаны допустимые значения для --protocol и указаны соответствующие платформы для каждого значения. Значения нечувствительны к регистру.

--protocol Значение Используемый транспортный протокол Применимые платформы
TCP TCP/IP Все
SOCKET Файл Unix-сокет Системы Unix и Unix-подобные
PIPE Именованная труба Windows
MEMORY Общая память Windows

Поддержка транспортных соединений для локальных и удаленных подключений

Транспорт TCP/IP поддерживает подключения к локальным или удаленным серверам MySQL.

Транспорт сокета, именованной трубы и общей памяти поддерживает подключения только к локальным серверам MySQL. (Транспорт именованной трубы позволяет подключаться удаленно, но эта возможность не реализована в MySQL.)

Интерпретация localhost

Если протокол транспорта не указан явно, localhost интерпретируется следующим образом:

  • На системах Unix и Unix-подобных системах подключение к localhost приводит к соединению с файлом сокета.

  • В противном случае подключение к localhost приводит к TCP/IP соединению с 127.0.0.1.

Если протокол транспорта указан явно, localhost интерпретируется относительно этого протокола. Например, с --protocol=TCP, подключение к localhost приводит к TCP/IP соединению с 127.0.0.1 на всех платформах.

Особенности шифрования и безопасности

Транспортные протоколы TCP/IP и файл сокета подвержены шифрованию TLS/SSL, используя параметры, описанные в Параметрах команд для шифрованных соединений. Транспортные протоколы именованной трубы и общей памяти не подвержены шифрованию TLS/SSL.

Соединение по умолчанию является безопасным, если оно выполняется по транспортному протоколу, который по умолчанию является безопасным. В противном случае, для протоколов, которые подвержены шифрованию TLS/SSL, соединение может быть сделано безопасным с использованием шифрования:

  • TCP/IP соединения по умолчанию не являются безопасными, но могут быть зашифрованы для обеспечения безопасности.

  • Соединения с файлом сокета по умолчанию являются безопасными. Они также могут быть зашифрованы, но шифрование соединения с файлом сокета не делает его более безопасным и увеличивает нагрузку на ЦП.

  • Соединения по именованной трубе по умолчанию не являются безопасными и не подлежат шифрованию для обеспечения безопасности. Тем не менее, системная переменная named_pipe_full_access_group доступна для управления пользователями MySQL, которым разрешено использовать соединения по именованной трубе.

  • Соединения по общей памяти по умолчанию являются безопасными.

Если системная переменная require_secure_transport включена, сервер разрешает только подключения, использующие какой-либо вид безопасного транспорта. Согласно предыдущим замечаниям, соединения, использующие TCP/IP, зашифрованные с использованием TLS/SSL, файл сокета или общую память, являются безопасными соединениями. TCP/IP соединения, не зашифрованные с помощью TLS/SSL, и соединения по именованной трубе не являются безопасными.

См. также Настройка шифрованных соединений как обязательных.

Сжатие соединения

Все транспортные протоколы могут использовать сжатие трафика между клиентом и сервером. Если для данного соединения используются сжатие и шифрование, сжатие происходит до шифрования. Дополнительную информацию см. в Разделе 4.2.6, «Управление сжатием соединений».

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/transport-protocols.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API