需要一个 SSL 库来支持加密连接、随机数生成的熵以及其他与加密相关的操作。
如果您从源代码分发版编译 MySQL, CMake 会将分发版配置为默认使用已安装的 OpenSSL 库。
要使用 OpenSSL 进行编译,请使用以下过程:
确保您的系统上安装了 OpenSSL 1.0.1 或更高版本。如果安装的 OpenSSL 版本低于 1.0.1, CMake在 MySQL 配置时会产生错误。如果需要获取 OpenSSL,请访问http://www.openssl.org。
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
通过在 EL7 上使用WITH_SSL=openssl11或在 EL8上使用 WITH_SSL=openssl3, 从 v8.0.30 开始支持替代 OpenSSL 系统包。身份验证插件(例如 LDAP 和 Kerberos)被禁用,因为它们不支持这些替代版本的 OpenSSL。
编译并安装发行版。
要检查mysqld服务器是否支持加密连接,请检查
have_ssl
系统变量的值:
mysql> SHOW VARIABLES LIKE 'have_ssl';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| have_ssl | YES |
+---------------+-------+
如果值为YES
,则服务器支持加密连接。如果值为
DISABLED
,则服务器能够支持加密连接,但未使用适当的
选项启动以启用要使用的加密连接;参见
第 6.3.1 节,“配置 MySQL 以使用加密连接”。
--ssl-
xxx