6.3.4 Возможности, зависящие от библиотеки SSL
MySQL может быть скомпилирован с использованием OpenSSL или yaSSL, оба из которых обеспечивают шифрованные соединения на основе API OpenSSL:
Бинарные дистрибутивы MySQL Enterprise Edition скомпилированы с использованием OpenSSL. Использование yaSSL с MySQL Enterprise Edition невозможно.
Бинарные дистрибутивы MySQL Community Edition скомпилированы с использованием yaSSL.
Источники дистрибутивов MySQL Community Edition могут быть скомпилированы с использованием либо OpenSSL, либо yaSSL (см. Раздел 2.8.6, «Настройка поддержки библиотек SSL»).
Возможно скомпилировать MySQL с использованием yaSSL в качестве альтернативы OpenSSL только до MySQL 5.7.28. Начиная с MySQL 5.7.28, поддержка yaSSL удалена, и все сборки MySQL используют OpenSSL.
OpenSSL и yaSSL предлагают одинаковые базовые функции, но дистрибутивы MySQL, скомпилированные с использованием OpenSSL, имеют дополнительные функции:
OpenSSL поддерживает протоколы TLSv1, TLSv1.1 и TLSv1.2. yaSSL поддерживает только протоколы TLSv1 и TLSv1.1.
OpenSSL поддерживает более гибкий синтаксис для указания шифров (для переменной системы
ssl_cipherи опции клиента--ssl-cipher), а также поддерживает более широкий спектр шифров для выбора. См. Параметры команд для зашифрованных соединений и Раздел 6.3.2, «Протоколы и шифры TLS зашифрованных соединений».OpenSSL поддерживает переменную системы
ssl_capathи опцию клиента--ssl-capath. Дистрибутивы MySQL, скомпилированные с использованием yaSSL, этого не делают, так как yaSSL не проверяет никакие каталоги и не следит за цепочкой сертификатов. yaSSL требует, чтобы все компоненты дерева сертификатов CA находились в одном дереве CA и каждый сертификат в файле имел уникальное значение SubjectName. Для решения этой проблемы объедините отдельные файлы сертификатов, составляющие дерево сертификатов, в новый файл и укажите этот файл в качестве значения переменной системыssl_caи опции--ssl-ca.OpenSSL поддерживает функцию проверки отзыва сертификатов (для переменных системы
ssl_crlиssl_crlpathи опций клиента--ssl-crlи--ssl-crlpath). В дистрибутивах, скомпилированных с использованием yaSSL, эта функция отсутствует, так как списки отзыва не работают с yaSSL. (yaSSL принимает эти опции, но игнорирует их.)Аккаунты, авторизующиеся с помощью плагина
sha256_password, могут использовать файлы ключей RSA для безопасного обмена паролями по незащищённым соединениям. См. Раздел 6.4.1.5, «SHA-256 Плагиновая аутентификация».Сервер может автоматически генерировать недостающие файлы сертификатов SSL и RSA при запуске. См. Раздел 6.3.3.1, «Создание сертификатов SSL и RSA с помощью MySQL».
OpenSSL поддерживает больше режимов шифрования для функций
AES_ENCRYPT()иAES_DECRYPT(). См. Раздел 12.13, «Функции шифрования и сжатия»
Некоторые связанные с OpenSSL переменные системы и состояния присутствуют только в том случае, если MySQL был скомпилирован с использованием OpenSSL:
Чтобы определить, был ли сервер скомпилирован с использованием OpenSSL, проверьте существование любой из этих переменных. Например, это утверждение возвращает строку, если использовался OpenSSL, и пустой результат, если использовался yaSSL:
SHOW STATUS LIKE 'Rsa_public_key';
© 2025 Oracle
Licensed under the GPLv2 License.