Spec-Zone.ru › MySQL 9.2

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

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

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

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

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

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

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

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

Для данного соединения, если протокол транспорта не указан явно, он определяется неявно. Например, соединения с localhost приводят к соединению с файлом сокета на системах Unix и Unix-подобных системах, и к соединению TCP/IP с 127.0.0.1 в противном случае. Дополнительная информация приведена в разделе 6.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 включена, сервер разрешает только соединения, использующие какой-либо вид защищенного транспорта. Согласно предыдущим замечаниям, соединения, использующие зашифрованное с помощью TLS/SSL соединение TCP/IP, файл сокета или общую память, являются защищенными соединениями. Соединения TCP/IP, не зашифрованные с помощью TLS/SSL и соединения именованной трубы не являются защищенными.

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

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

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

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

Spec-Zone.ru

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