Spec-Zone .ru
спецификации, руководства, описания, API

6.3.9.2. Конфигурирование MySQL для SSL

Чтобы использовать соединения SSL между сервером MySQL и клиентскими программами, Ваша система должна поддерживать или OpenSSL или yaSSL, и Ваша версия MySQL должна быть создана с поддержкой SSL. Чтобы облегчить использовать безопасные соединения, MySQL связывается yaSSL, который использует ту же самую модель лицензирования в качестве MySQL. (OpenSSL использует лицензию стиля Apache.) yaSSL поддержка доступно на всех платформах MySQL, поддерживаемых Oracle Corporation.

Чтобы заставить безопасные соединения работать с MySQL и SSL, следует сделать следующее:

  1. Если Вы не используете двоичный файл (предварительно скомпилированная) версия MySQL, который был создан с поддержкой SSL, и Вы собираетесь использовать OpenSSL, а не связанную yaSSL библиотеку, установить OpenSSL, если это не было уже установлено. Мы протестировали MySQL с OpenSSL 1.0.0. Чтобы получить OpenSSL, посетите http://www.openssl.org.

    Создавая использование MySQL, OpenSSL требует совместно используемой библиотеки OpenSSL, иначе ошибки компоновщика происходят. Альтернативно, создайте MySQL, используя yaSSL.

  2. Если Вы не используете двоичный файл (предварительно скомпилированная) версия MySQL, который был создан с поддержкой SSL, сконфигурируйте исходное распределение MySQL, чтобы использовать SSL. Когда Вы конфигурируете MySQL, вызовите CMake как это:

    shell> cmake . -DWITH_SSL=bundled

    Та команда конфигурирует распределение, чтобы пользоваться связанной yaSSL библиотекой. Чтобы пользоваться системной библиотекой SSL вместо этого, определите опцию как это вместо этого:

    shell> cmake .
                        -DWITH_SSL=system

    См. Раздел 2.9.4, "MySQL Source-Configuration Options".

    Затем скомпилируйте и установите распределение.

    На платформах Unix yaSSL получает истинные случайные числа от также /dev/urandom или /dev/random. Bug#13164 перечисляет обходные решения для некоторых очень старых платформ, которые не поддерживают эти устройства.

  3. Чтобы проверить, поддерживает ли mysqld сервер SSL, исследуйте значение have_ssl системная переменная:

    mysql> SHOW VARIABLES LIKE
                        'have_ssl';+---------------+-------+| Variable_name | Value |+---------------+-------+| have_ssl      | YES   |+---------------+-------+

    Если значение YES, сервер поддерживает соединения SSL. Если значение DISABLED, сервер способен к поддержке соединений SSL, но не был запущен с соответствующего --ssl-xxx опции, чтобы позволить им использоваться; см. Раздел 6.3.9.3, "Используя Соединения SSL".