To use encrypted connections between the MySQL server and client programs, your system must support either OpenSSL or yaSSL:
MySQL Enterprise Edition binary distributions are compiled using OpenSSL. It is not possible to use yaSSL with MySQL Enterprise Edition.
MySQL Community Edition binary distributions are compiled using yaSSL.
MySQL Community Edition source distributions can be compiled using either OpenSSL or yaSSL.
If you compile MySQL from a source distribution, CMake configures the distribution to use yaSSL by default. To compile using OpenSSL instead, use this procedure:
Ensure that OpenSSL 1.0.1 or higher is installed on your system. If the installed OpenSSL version is lower than 1.0.1, CMake produces an error at MySQL configuration time. If it is necessary to obtain OpenSSL, visit http://www.openssl.org.
WITH_SSLCMake option determines which SSL library to use for compiling MySQL (see Section 2.9.4, “MySQL Source-Configuration Options”). The default is
-DWITH_SSL=bundled, which uses yaSSL. To use OpenSSL, add the
-DWITH_SSL=systemoption to the CMake command you normally use to configure the MySQL source distribution. For example:
cmake . -DWITH_SSL=system
That command configures the distribution to use the installed OpenSSL library. Alternatively, to explicitly specify the path name to the OpenSSL installation, use the following syntax. This can be useful if you have multiple versions of OpenSSL installed, to prevent CMake from choosing the wrong one:
cmake . -DWITH_SSL=path_name
Compile and install the distribution.
mysql> SHOW VARIABLES LIKE 'have_ssl'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | have_ssl | YES | +---------------+-------+
If the value is
YES, the server supports
encrypted connections. If the value is
DISABLED, the server is capable of supporting
encrypted connections but was not started with the appropriate
--ssl- options to
enable encrypted connections to be used; see
Section 6.4.1, “Configuring MySQL to Use Encrypted Connections”.
To determine whether a server was compiled using OpenSSL or yaSSL, check the existence of any of the system or status variables that are present only for OpenSSL. See Section 6.4.4, “OpenSSL Versus yaSSL”