Documentation Home

2.9.6 配置 SSL 库支持

需要一个 SSL 库来支持加密连接、随机数生成的熵以及其他与加密相关的操作。您的系统必须支持 OpenSSL 或 yaSSL:

  • MySQL Enterprise Edition 二进制发行版是使用 OpenSSL 编译的。无法将 yaSSL 与 MySQL 企业版一起使用。

  • MySQL Community Edition 二进制发行版是使用 yaSSL 编译的。

  • 可以使用 OpenSSL 或 yaSSL 编译 MySQL Community Edition 源代码分发。

笔记

仅在 MySQL 5.6.46 之前,可以使用 yaSSL 作为 OpenSSL 的替代方案来编译 MySQL。从 MySQL 5.6.46 开始,删除了对 yaSSL 的支持,所有 MySQL 构建都使用 OpenSSL。

如果您从源代码分发版编译 MySQL, CMake 会将分发版配置为默认使用已安装的 OpenSSL 库。

要使用 OpenSSL 进行编译,请使用以下过程:

  1. 确保您的系统上安装了 OpenSSL 1.0.1 或更高版本。如果安装的 OpenSSL 版本低于 1.0.1, CMake在 MySQL 配置时会产生错误。如果需要获取 OpenSSL,请访问http://www.openssl.org

  2. CMake选项确定 使用哪个 SSL 库来编译 MySQL(请参阅 第 2.9.7 节,“MySQL 源配置选项”)。默认值为,它使用 OpenSSL。要明确这一点,请在 CMake命令行上指定该选项。例如: WITH_SSL -DWITH_SSL=system

    cmake . -DWITH_SSL=system

    该命令将分发配置为使用已安装的 OpenSSL 库。或者,要显式指定 OpenSSL 安装的路径名,请使用以下语法。如果您安装了多个版本的 OpenSSL,这将很有用,以防止CMake选择错误的版本:

    cmake . -DWITH_SSL=path_name
  3. 编译并安装发行版。

要检查mysqld服务器是否支持加密连接,请检查 have_ssl系统变量的值:

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

如果值为YES,则服务器支持加密连接。如果值为 DISABLED,则服务器能够支持加密连接,但未使用适当的 选项启动以启用要使用的加密连接;参见 第 6.3.1 节,“配置 MySQL 以使用加密连接”--ssl-xxx

要确定服务器是使用 OpenSSL 还是 yaSSL 编译的,请检查仅针对 OpenSSL 存在的任何系统或状态变量是否存在。请参阅第 6.3.4 节,“SSL 库相关功能”