For support of encrypted connections, entropy for random number generation, and other encryption- related operations, MySQL must be built using an SSL library. This option specifies which SSL library to use. 

• ssl_type  can be one of the following values: 

• system : Use the system OpenSSL library. This is the default. 

On macOS and Windows, using system  configures MySQL to build as if CMake was invoked with path_name  points to a manually installed OpenSSL library. This is because they do not have system SSL libraries. On macOS, brew install openssl  installs to /usr/local/opt/openssl  so that system  can find it. On Windows, it checks %ProgramFiles%/OpenSSL , %ProgramFiles%/ OpenSSL-Win32 , %ProgramFiles%/OpenSSL-Win64 , C:/OpenSSL , C:/OpenSSL-Win32 , and C:/ OpenSSL-Win64 . 

• yes : This is a synonym for system . 

• path_name  is the path name to the OpenSSL installation to use. This can be preferable to using the ssl_type  value of system  because it can prevent CMake from detecting and using an older or incorrect OpenSSL version installed on the system. (Another permitted way to do the same thing is to set WITH_SSL  to system  and set the CMAKE_PREFIX_PATH  option to path_name .) 

For additional information about configuring the SSL library, see Section 2.9.6, “Configuring SSL Library Support” . 

• -DWITH_SYSTEMD= bool 

Whether to enable installation of systemd support files. By default, this option is disabled. When enabled, systemd support files are installed, and scripts such as mysqld_safe  and the System V initialization script are not installed. On platforms where systemd is not available, enabling WITH_SYSTEMD  results in an error from CMake . 

For more information about using systemd, see Section 2.5.9, “Managing MySQL Server with systemd” . That section also includes information about specifying options previously specified in [mysqld_safe] option groups. Because mysqld_safe  is not installed when systemd is used, such options must be specified another way. 

• -DWITH_SYSTEM_LIBS= bool 

This option serves as an “umbrella”  option to set the system  value of any of the following CMake  options that are not set explicitly: WITH_CURL , WITH_EDITLINE , WITH_ICU , WITH_LIBEVENT , WITH_LZ4 , WITH_LZMA , WITH_PROTOBUF , WITH_RE2 , WITH_SSL , WITH_ZLIB , WITH_ZSTD . 

• -DWITH_SYSTEMD_DEBUG= bool 

Whether to produce additional systemd debugging information, for platforms on which systemd is used to run MySQL. The default is OFF . 

This option was added in MySQL 8.0.22. 

• -DWITH_TCMALLOC= bool 

Whether to link with -ltcmalloc . If enabled, built-in malloc() , calloc() , realloc() , and free() routines are disabled. The default is OFF . 

WITH_TCMALLOC  and WITH_JEMALLOC  are mutually exclusive. 

