The following tables details the CMake configuration options available when building MySQL server from source. The tables includes the following columns:
Formats: The command line format for the configure option.
Description: A short description of the option.
Default: The default value.
Introduced: The versions in which the option was introduced.
Removed: The versions in which the option was removed.
5.5, 5.6, and so forth: Whether the option is available in MySQL 5.5, MySQL 5.6, and so forth. If available, a link to the reference manual where more information can be located will be included.
Table 4.1 Build (CMake) options
| Name | Description | ||||||
|---|---|---|---|---|---|---|---|
| Default | Introduced | Removed | 5.5 | 5.6 | 5.7 | 8.0 | |
BUILD_CONFIG | Use same build options as official releases | ||||||
| 5.5.7 | Yes | Yes | Yes | Yes | |||
CMAKE_BUILD_TYPE | Type of build to produce | ||||||
RelWithDebInfo | 5.5.7 | Yes | Yes | Yes | Yes | ||
CMAKE_CXX_FLAGS | Flags for C++ Compiler | ||||||
| Yes | Yes | Yes | Yes | ||||
CMAKE_C_FLAGS | Flags for C Compiler | ||||||
| Yes | Yes | Yes | Yes | ||||
CMAKE_INSTALL_PREFIX | Installation base directory | ||||||
/usr/local/mysql | 5.5.8 | Yes | Yes | Yes | Yes | ||
COMPILATION_COMMENT | Comment about compilation environment | ||||||
| 5.5.7 | Yes | Yes | Yes | Yes | |||
CPACK_MONOLITHIC_INSTALL | Whether package build produces single file | ||||||
OFF | 5.5.7 | Yes | Yes | Yes | Yes | ||
DEFAULT_CHARSET | The default server character set | ||||||
latin1 | 5.5.7 | Yes | Yes | Yes | Yes | ||
DEFAULT_COLLATION | The default server collation | ||||||
latin1_swedish_ci | 5.5.7 | Yes | Yes | Yes | Yes | ||
DISABLE_PSI_COND | Exclude Performance Schema condition instrumentation | ||||||
OFF | 5.7.3 | Yes | Yes | ||||
DISABLE_PSI_FILE | Exclude Performance Schema file instrumentation | ||||||
OFF | 5.7.3 | Yes | Yes | ||||
DISABLE_PSI_IDLE | Exclude Performance Schema idle instrumentation | ||||||
OFF | 5.7.3 | Yes | Yes | ||||
DISABLE_PSI_MEMORY | Exclude Performance Schema memory instrumentation | ||||||
OFF | 5.7.3 | Yes | Yes | ||||
DISABLE_PSI_METADATA | Exclude Performance Schema metadata instrumentation | ||||||
OFF | 5.7.3 | Yes | Yes | ||||
DISABLE_PSI_MUTEX | Exclude Performance Schema mutex instrumentation | ||||||
OFF | 5.7.3 | Yes | Yes | ||||
DISABLE_PSI_RWLOCK | Exclude Performance Schema rwlock instrumentation | ||||||
OFF | 5.7.3 | Yes | Yes | ||||
DISABLE_PSI_SOCKET | Exclude Performance Schema socket instrumentation | ||||||
OFF | 5.7.3 | Yes | Yes | ||||
DISABLE_PSI_SP | Exclude Performance Schema stored program instrumentation | ||||||
OFF | 5.7.3 | Yes | Yes | ||||
DISABLE_PSI_STAGE | Exclude Performance Schema stage instrumentation | ||||||
OFF | 5.7.3 | Yes | Yes | ||||
DISABLE_PSI_STATEMENT | Exclude Performance Schema statement instrumentation | ||||||
OFF | 5.7.3 | Yes | Yes | ||||
DISABLE_PSI_STATEMENT_DIGEST | Exclude Performance Schema statement_digest instrumentation | ||||||
OFF | 5.7.3 | Yes | Yes | ||||
DISABLE_PSI_TABLE | Exclude Performance Schema table instrumentation | ||||||
OFF | 5.7.3 | Yes | Yes | ||||
DISABLE_SHARED | Do not build shared libraries, compile position-dependent code | ||||||
OFF | Yes | ||||||
DOWNLOAD_BOOST | Whether to download the Boost library | ||||||
OFF | 5.7.5 | Yes | Yes | ||||
DOWNLOAD_BOOST_TIMEOUT | Timeout in seconds for downloading the Boost library | ||||||
600 | 5.7.6 | Yes | Yes | ||||
-DUSE_LD_GOLD | Whether to use GNU gold loader | ||||||
OFF | 8.0.0 | Yes | |||||
-DWITH_PROTOBUF | Which Protocol Buffers package to use | ||||||
bundled | 5.7.12 | Yes | Yes | ||||
-DWITH_SYMVER16 | Whether libmysqlclient.so.18 contains both symver 16 and 18 symbols. | ||||||
OFF | 5.6.31 | Yes | |||||
ENABLED_LOCAL_INFILE | Whether to enable LOCAL for LOAD DATA INFILE | ||||||
OFF | 5.5.7 | Yes | Yes | Yes | Yes | ||
ENABLED_PROFILING | Whether to enable query profiling code | ||||||
ON | 5.5.7 | Yes | Yes | Yes | Yes | ||
ENABLE_DEBUG_SYNC | Whether to enable Debug Sync support | ||||||
ON | 5.5.7 | Yes | Yes | Yes | Yes | ||
ENABLE_DOWNLOADS | Whether to download optional files | ||||||
OFF | 5.5.7 | Yes | Yes | Yes | Yes | ||
ENABLE_DTRACE | Whether to include DTrace support | ||||||
| 5.5.7 | Yes | Yes | Yes | Yes | |||
ENABLE_GCOV | Whether to include gcov support | ||||||
| 5.5.14, 5.6.3 | Yes | Yes | Yes | Yes | |||
ENABLE_GPROF | Enable gprof (optimized Linux builds only) | ||||||
OFF | 5.6.6 | Yes | Yes | Yes | |||
FORCE_UNSUPPORTED_COMPILER | Whether to permit unsupported compiler | ||||||
OFF | 5.7.5 | Yes | Yes | ||||
IGNORE_AIO_CHECK | With -DBUILD_CONFIG=mysql_release, ignore libaio check | ||||||
OFF | 5.5.9, 5.6.1 | Yes | Yes | Yes | Yes | ||
INNODB_PAGE_ATOMIC_REF_COUNT | Enable or disable atomic page reference counting | ||||||
ON | 5.6.16, 5.7.4 | 5.7.5 | Yes | Yes | |||
INSTALL_BINDIR | User executables directory | ||||||
PREFIX/bin | 5.5.7 | Yes | Yes | Yes | Yes | ||
INSTALL_DOCDIR | Documentation directory | ||||||
PREFIX/docs | 5.5.7 | Yes | Yes | Yes | Yes | ||
INSTALL_DOCREADMEDIR | README file directory | ||||||
PREFIX | 5.5.7 | Yes | Yes | Yes | Yes | ||
INSTALL_INCLUDEDIR | Header file directory | ||||||
PREFIX/include | 5.5.7 | Yes | Yes | Yes | Yes | ||
INSTALL_INFODIR | Info file directory | ||||||
PREFIX/docs | 5.5.7 | Yes | Yes | Yes | Yes | ||
INSTALL_LAYOUT | Select predefined installation layout | ||||||
STANDALONE | 5.5.7 | Yes | Yes | Yes | Yes | ||
INSTALL_LIBDIR | Library file directory | ||||||
PREFIX/lib | 5.5.7 | Yes | Yes | Yes | Yes | ||
INSTALL_MANDIR | Manual page directory | ||||||
PREFIX/man | 5.5.7 | Yes | Yes | Yes | Yes | ||
INSTALL_MYSQLKEYRINGDIR | Directory for keyring_file plugin data file | ||||||
platform specific | 5.7.11 | Yes | Yes | ||||
INSTALL_MYSQLSHAREDIR | Shared data directory | ||||||
PREFIX/share | 5.5.7 | Yes | Yes | Yes | Yes | ||
INSTALL_MYSQLTESTDIR | mysql-test directory | ||||||
PREFIX/mysql-test | 5.5.7 | Yes | Yes | Yes | Yes | ||
INSTALL_PKGCONFIGDIR | Directory for mysqlclient.pc pkg-config file | ||||||
INSTALL_LIBDIR/pkgconfig | 5.7.9 | Yes | Yes | ||||
INSTALL_PLUGINDIR | Plugin directory | ||||||
PREFIX/lib/plugin | 5.5.7 | Yes | Yes | Yes | Yes | ||
INSTALL_SBINDIR | Server executable directory | ||||||
PREFIX/bin | 5.5.7 | Yes | Yes | Yes | Yes | ||
INSTALL_SCRIPTDIR | Scripts directory | ||||||
PREFIX/scripts | 5.5.7 | 8.0.0 | Yes | Yes | Yes | ||
INSTALL_SECURE_FILE_PRIVDIR | secure_file_priv default value | ||||||
platform specific | 5.5.53, 5.6.34, 5.7.6 | Yes | Yes | Yes | Yes | ||
INSTALL_SECURE_FILE_PRIV_EMBEDDEDDIR | secure_file_priv default value for libmysqld | ||||||
| 5.5.53, 5.6.34, 5.7.8 | Yes | Yes | Yes | Yes | |||
INSTALL_SHAREDIR | aclocal/mysql.m4 installation directory | ||||||
PREFIX/share | 5.5.7 | Yes | Yes | Yes | Yes | ||
INSTALL_SQLBENCHDIR | sql-bench directory | ||||||
PREFIX | 5.5.7 | 5.7.8 | Yes | Yes | Yes | ||
INSTALL_STATIC_LIBRARIES | Whether to install static libraries | ||||||
ON | Yes | ||||||
INSTALL_SUPPORTFILESDIR | Extra support files directory | ||||||
PREFIX/support-files | 5.5.7 | Yes | Yes | Yes | Yes | ||
MAX_INDEXES | Maximum indexes per table | ||||||
64 | 5.7.1 | Yes | Yes | ||||
MEMCACHED_HOME | Path to memcached | ||||||
[none] | 5.5.16-ndb-7.2.2 | Yes | Yes | ||||
MUTEX_TYPE | InnoDB mutex type | ||||||
event | 5.7.2 | Yes | Yes | ||||
MYSQL_DATADIR | Data directory | ||||||
| 5.5.7 | Yes | Yes | Yes | Yes | |||
MYSQL_MAINTAINER_MODE | Whether to enable MySQL maintainer-specific development environment | ||||||
OFF | 5.5.7 | Yes | Yes | Yes | Yes | ||
MYSQL_PROJECT_NAME | Windows/OS X project name | ||||||
3306 | 5.5.21, 5.6.5 | Yes | Yes | Yes | Yes | ||
MYSQL_TCP_PORT | TCP/IP port number | ||||||
3306 | 5.5.7 | Yes | Yes | Yes | Yes | ||
MYSQL_UNIX_ADDR | Unix socket file | ||||||
/tmp/mysql.sock | 5.5.7 | Yes | Yes | Yes | Yes | ||
ODBC_INCLUDES | ODBC includes directory | ||||||
| Yes | Yes | Yes | Yes | ||||
ODBC_LIB_DIR | ODBC library directory | ||||||
| Yes | Yes | Yes | Yes | ||||
OPTIMIZER_TRACE | Whether to support optimizer tracing | ||||||
| 5.6.3 | Yes | Yes | Yes | ||||
SUNPRO_CXX_LIBRARY | Client link library on Solaris 10+ | ||||||
| 5.6.20, 5.7.5 | 8.0.0 | Yes | Yes | ||||
SYSCONFDIR | Option file directory | ||||||
| 5.5.7 | Yes | Yes | Yes | Yes | |||
SYSTEMD_PID_DIR | Directory for PID file under systemd | ||||||
/var/run/mysqld | 5.7.6 | Yes | Yes | ||||
SYSTEMD_SERVICE_NAME | Name of MySQL service under systemd | ||||||
mysqld | 5.7.6 | Yes | Yes | ||||
TMPDIR | tmpdir default value | ||||||
| 5.5.36, 5.6.16, 5.7.4 | Yes | Yes | Yes | Yes | |||
WIN_DEBUG_NO_INLINE | Whether to disable function inlining | ||||||
OFF | 5.7.6 | Yes | Yes | ||||
WITHOUT_SERVER | Do not build the server | ||||||
OFF | Yes | Yes | Yes | Yes | |||
WITHOUT_xxx_STORAGE_ENGINE | Exclude storage engine xxx from build | ||||||
| 5.5.7 | Yes | Yes | Yes | Yes | |||
WITH_ASAN | Enable AddressSanitizer | ||||||
OFF | 5.5.35, 5.6.15, 5.7.3 | Yes | Yes | Yes | Yes | ||
WITH_AUTHENTICATION_PAM | Build PAM authentication plugin | ||||||
OFF | Yes | Yes | |||||
WITH_BOOST | The location of the Boost library sources | ||||||
| 5.7.5 | Yes | Yes | |||||
WITH_BUNDLED_LIBEVENT | Use bundled libevent when building ndbmemcache | ||||||
ON | 5.5.16-ndb-7.2.2 | Yes | Yes | ||||
WITH_BUNDLED_MEMCACHED | Use bundled memcached when building ndbmemcache | ||||||
ON | 5.5.16-ndb-7.2.2 | Yes | Yes | ||||
WITH_CLASSPATH | Classpath to use when building MySQL Cluster Connector for Java. Default is an empty string. | ||||||
| Yes | Yes | |||||
WITH_CLIENT_PROTOCOL_TRACING | Build client-side protocol tracing framework | ||||||
ON | 5.7.2 | Yes | Yes | ||||
WITH_DEBUG | Whether to include debugging support | ||||||
OFF | 5.5.7 | Yes | Yes | Yes | Yes | ||
WITH_DEFAULT_COMPILER_OPTIONS | Whether to use default compiler options | ||||||
ON | 5.6.6 | Yes | Yes | Yes | |||
WITH_DEFAULT_FEATURE_SET | Whether to use default feature set | ||||||
ON | 5.6.6 | Yes | Yes | Yes | |||
WITH_EDITLINE | Which libedit/editline library to use | ||||||
bundled | 5.6.12, 5.7.2 | Yes | Yes | Yes | |||
WITH_EMBEDDED_SERVER | Whether to build embedded server | ||||||
OFF | 5.5.7 | Yes | Yes | Yes | Yes | ||
WITH_EMBEDDED_SHARED_LIBRARY | Whether to build a shared embedded server library | ||||||
OFF | 5.5.37, 5.6.17, 5.7.4 | Yes | Yes | Yes | Yes | ||
WITH_ERROR_INSERT | Enable error injection in the NDB storage engine. Should not be used for building binaries intended for production. | ||||||
OFF | Yes | Yes | |||||
WITH_EXTRA_CHARSETS | Which extra character sets to include | ||||||
all | 5.5.7 | 8.0.0 | Yes | Yes | Yes | ||
WITH_INNODB_EXTRA_DEBUG | Whether to include extra debugging support for InnoDB. | ||||||
OFF | 5.7.2 | Yes | Yes | ||||
WITH_INNODB_MEMCACHED | Whether to generate memcached shared libraries. | ||||||
OFF | Yes | Yes | Yes | ||||
WITH_KEYRING_TEST | Build the keyring test program | ||||||
OFF | 5.7.11 | Yes | Yes | ||||
WITH_LIBEDIT | Use bundled libedit library | ||||||
ON | 5.5.7 | 5.6.12 | Yes | Yes | |||
WITH_LIBEVENT | Which libevent library to use | ||||||
bundled | 5.6.6 | Yes | Yes | Yes | |||
WITH_LIBWRAP | Whether to include libwrap (TCP wrappers) support | ||||||
OFF | 5.5.7 | Yes | Yes | Yes | Yes | ||
WITH_LZ4 | Type of LZ4 support | ||||||
bundled | 5.7.14 | Yes | Yes | ||||
WITH_MECAB | Compiles MeCab | ||||||
| 5.7.6 | Yes | Yes | |||||
WITH_MSAN | Enable MemorySanitizer | ||||||
OFF | 5.7.4 | Yes | Yes | ||||
WITH_MSCRT_DEBUG | Enable Visual Studio CRT memory leak tracing | ||||||
OFF | 5.7.6 | Yes | Yes | ||||
WITH_NDBCLUSTER | Build the NDB storage engine; alias for WITH_NDBCLUSTER_STORAGE_ENGINE | ||||||
ON | Yes | Yes | Yes | ||||
WITH_NDBCLUSTER_STORAGE_ENGINE | Build the NDB storage engine | ||||||
ON | Yes | Yes | Yes | ||||
WITH_NDBMTD | Build multi-threaded data node. | ||||||
ON | Yes | Yes | |||||
WITH_NDB_BINLOG | Enable binary logging by default by mysqld. | ||||||
ON | Yes | Yes | |||||
WITH_NDB_DEBUG | Produce a debug build for testing or troubleshooting. | ||||||
OFF | Yes | Yes | |||||
WITH_NDB_JAVA | Enable building of Java and ClusterJ support. Enabled by default. Supported in MySQL Cluster only. | ||||||
ON | 5.5.27-ndb-7.2.9 | Yes | Yes | ||||
WITH_NDB_PORT | Default port used by a management server built with this option. If this option was not used to build it, the management server's default port is 1186. | ||||||
[none] | Yes | Yes | |||||
WITH_NDB_TEST | Include NDB API test programs. | ||||||
OFF | Yes | Yes | |||||
WITH_NUMA | Set NUMA memory allocation policy | ||||||
| 5.6.27, 5.7.17 | Yes | Yes | Yes | ||||
WITH_RAPID | Whether to build rapid development cycle plugins | ||||||
ON | 5.7.12 | Yes | Yes | ||||
WITH_READLINE | Use bundled readline library | ||||||
OFF | 5.5.7 | 5.6.5 | Yes | Yes | |||
WITH_SSL | Type of SSL support | ||||||
bundled | 5.5.7 | Yes | Yes | Yes | Yes | ||
WITH_SYSTEMD | Enable installation of systemd support files | ||||||
OFF | 5.7.6 | Yes | Yes | ||||
WITH_TEST_TRACE_PLUGIN | Build test protocol trace plugin | ||||||
OFF | 5.7.2 | Yes | Yes | ||||
WITH_TSAN | Enable ThreadSanitizer | ||||||
OFF | Yes | ||||||
WITH_UBSAN | Enable Undefined Behavior Sanitizer | ||||||
OFF | 5.7.6 | Yes | Yes | ||||
WITH_UNIXODBC | Enable unixODBC support | ||||||
OFF | Yes | Yes | Yes | Yes | |||
WITH_VALGRIND | Whether to compile in Valgrind header files | ||||||
OFF | 5.5.6 | Yes | Yes | Yes | Yes | ||
WITH_ZLIB | Type of zlib support | ||||||
bundled | 5.5.7 | Yes | Yes | Yes | Yes | ||
WITH_xxx_STORAGE_ENGINE | Compile storage engine xxx statically into server | ||||||
| 5.5.7 | Yes | Yes | Yes | Yes | |||