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