CMake源码编译MySQL参数

下面是网上找到的常用到的:

-DCMAKE_INSTALL_PREFIX= 指向mysql安装目录
-DINSTALL_SBINDIR=sbin 指向可执行文件目录(prefix/sbin)
-DMYSQL_DATADIR=/var/lib/mysql 指向mysql数据文件目录(/var/lib/mysql)
-DSYSCONFDIR=/etc/mysql 指向mysql配置文件目录(/etc/mysql)
-DINSTALL_PLUGINDIR=lib/mysql/plugin 指向插件目录(prefix/lib/mysql/plugin)
-DINSTALL_MANDIR=share/man 指向man文档目录(prefix/share/man)
-DINSTALL_SHAREDIR=share 指向aclocal/mysql.m4安装目录(prefix/share)
-DINSTALL_LIBDIR=lib/mysql 指向对象代码库目录(prefix/lib/mysql)
-DINSTALL_INCLUDEDIR=include/mysql 指向头文件目录(prefix/include/mysql)
-DINSTALL_INFODIR=share/info 指向info文档存放目录(prefix/share/info)

-DWITH_READLINE=1 启用readline库支持(提供可编辑的命令行)
-DWITH_SSL=system 启用ssl库支持(安全套接层) 
-DWITH_ZLIB=system 启用libz库支持(zib、gzib相关) 
-DWTIH_LIBWRAP=0 禁用libwrap库(实现了通用TCP包装的功能,为网络服务守护进程使用) 
-DMYSQL_TCP_PORT=3306 指定TCP端口为3306 
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock 指定mysql.sock路径 
-DENABLED_LOCAL_INFILE=1 启用本地数据导入支持 
-DEXTRA_CHARSETS=all 启用额外的字符集类型(默认为all) 
-DDEFAULT_CHARSET=utf8 指定默认的字符集为utf8 
-DDEFAULT_COLLATION=utf8_general_ci 设定默认排序规则(utf8_general_ci快速/utf8_unicode_ci准确) 
-DWITH_EMBEDDED_SERVER=1 编译嵌入式服务器支持 
-DMYSQL_USER=mysql 指定mysql用户(默认为mysql) 
-DWITH_DEBUG=0 禁用debug(默认为禁用) 
-DENABLE_PROFILING=0 禁用Profiling分析(默认为开启) 
-DWITH_COMMENT='string' 一个关于编译环境的描述性注释

  

下面我们来看下cmake编译后的MySQL中设置的参数

先看下我的编译命令:

/opt/software/mysql5.7/mysql-5.7.28
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_DATADIR=/mysql/data -DMYSQL_TCP_PORT=3307 -DWITH_BOOST=boost/boost_1_59_0/ -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1

然后找到MySQL编译目录,我的是/usr/local/mysql/

(需要注意的是:这里的参数的书写格式并不是在执行 cmake 命令时参数的标准格式)

cat /usr/local/mysql/docs/INFO_BIN

===== Information about the build process: =====
Build was run at 2020-08-05 14:32:48 on host 'docker'

Build was done on Linux-3.10.0-1127.13.1.el7.x86_64 using x86_64
Build was done using cmake 2.8.12

===== Compiler flags used (from the 'sql/' subdirectory): =====
# compile C with /usr/bin/cc
# compile CXX with /usr/bin/c++
C_FLAGS = -Wall -Wextra -Wformat-security -Wvla -Wwrite-strings -Wdeclaration-after-statement -O3 -g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing -DDBUG_OFF -fPIC -I/opt/software/mysql5.7/mysql-5.7.28/include -I/opt/software/mysql5.7/mysql-5.7.28/extra/rapidjson/include -I/opt/software/mysql5.7/mysql-5.7.28/libbinlogevents/include -I/opt/software/mysql5.7/mysql-5.7.28/libbinlogevents/export -isystem /opt/software/mysql5.7/mysql-5.7.28/zlib -I/opt/software/mysql5.7/mysql-5.7.28/sql/conn_handler -I/opt/software/mysql5.7/mysql-5.7.28/sql -I/opt/software/mysql5.7/mysql-5.7.28/sql/auth -I/opt/software/mysql5.7/mysql-5.7.28/regex -I/opt/software/mysql5.7/mysql-5.7.28/extra/lz4 -isystem /opt/software/mysql5.7/mysql-5.7.28/include/boost_1_59_0/patches -isystem /opt/software/mysql5.7/mysql-5.7.28/boost/boost_1_59_0
C_DEFINES = -DHAVE_CONFIG_H -DHAVE_LIBEVENT2 -DHAVE_OPENSSL -DHAVE_REPLICATION -DMYSQL_SERVER -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
CXX_FLAGS = -Wall -Wextra -Wformat-security -Wvla -Woverloaded-virtual -Wno-unused-parameter -O3 -g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing -DDBUG_OFF -fPIC -I/opt/software/mysql5.7/mysql-5.7.28/include -I/opt/software/mysql5.7/mysql-5.7.28/extra/rapidjson/include -I/opt/software/mysql5.7/mysql-5.7.28/libbinlogevents/include -I/opt/software/mysql5.7/mysql-5.7.28/libbinlogevents/export -isystem /opt/software/mysql5.7/mysql-5.7.28/zlib -I/opt/software/mysql5.7/mysql-5.7.28/sql/conn_handler -I/opt/software/mysql5.7/mysql-5.7.28/sql -I/opt/software/mysql5.7/mysql-5.7.28/sql/auth -I/opt/software/mysql5.7/mysql-5.7.28/regex -I/opt/software/mysql5.7/mysql-5.7.28/extra/lz4 -isystem /opt/software/mysql5.7/mysql-5.7.28/include/boost_1_59_0/patches -isystem /opt/software/mysql5.7/mysql-5.7.28/boost/boost_1_59_0
CXX_DEFINES = -DHAVE_CONFIG_H -DHAVE_LIBEVENT2 -DHAVE_OPENSSL -DHAVE_REPLICATION -DMYSQL_SERVER -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE

Pointer size: 8

===== Feature flags used: =====
-- Cache values
BOOST_INCLUDE_DIR:PATH=/opt/software/mysql5.7/mysql-5.7.28/boost/boost_1_59_0
BUNDLE_MECAB:BOOL=ON
CMAKE_BACKWARDS_COMPATIBILITY:STRING=2.4
CMAKE_BUILD_TYPE:STRING=RelWithDebInfo
CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++
CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc
CMAKE_INSTALL_PREFIX:PATH=/usr/local/mysql
COMMUNITY_BUILD:BOOL=ON
CRYPTO_LIBRARY:FILEPATH=/usr/lib64/libcrypto.so
CTAGS_EXECUTABLE:FILEPATH=/usr/bin/ctags
DEB_CHANGELOG_TIMESTAMP:STRING=Wed, 05 Aug 2020 10:16:24 +0800
DEB_CODENAME:STRING=
DOWNLOAD_BOOST:BOOL=OFF
DOWNLOAD_BOOST_TIMEOUT:STRING=600
ENABLED_PROFILING:BOOL=ON
ENABLE_DOWNLOADS:BOOL=OFF
ENABLE_GCOV:BOOL=OFF
ENABLE_GPROF:BOOL=OFF
ENABLE_MEMCACHED_SASL:BOOL=OFF
ENABLE_MEMCACHED_SASL_PWDB:BOOL=OFF
EVENT_INSTALL_BIN_DIR:PATH=bin
EVENT_INSTALL_CMAKE_DIR:PATH=lib/cmake/libevent
EVENT_INSTALL_INCLUDE_DIR:PATH=include
EVENT_INSTALL_LIB_DIR:PATH=lib
EVENT_STAGE_NAME:STRING=stable
EVENT__BUILD_SHARED_LIBRARIES:BOOL=OFF
EVENT__COVERAGE:BOOL=OFF
EVENT__DISABLE_BENCHMARK:BOOL=ON
EVENT__DISABLE_CLOCK_GETTIME:BOOL=OFF
EVENT__DISABLE_DEBUG_MODE:BOOL=OFF
EVENT__DISABLE_GCC_WARNINGS:BOOL=OFF
EVENT__DISABLE_MM_REPLACEMENT:BOOL=OFF
EVENT__DISABLE_REGRESS:BOOL=ON
EVENT__DISABLE_SAMPLES:BOOL=ON
EVENT__DISABLE_TESTS:BOOL=ON
EVENT__DISABLE_THREAD_SUPPORT:BOOL=OFF
EVENT__ENABLE_GCC_FUNCTION_SECTIONS:BOOL=OFF
EVENT__ENABLE_GCC_HARDENING:BOOL=OFF
EVENT__ENABLE_GCC_WARNINGS:BOOL=OFF
EVENT__ENABLE_VERBOSE_DEBUG:BOOL=OFF
EVENT__FORCE_KQUEUE_CHECK:BOOL=OFF
EXECUTABLE_OUTPUT_PATH:PATH=
FEATURE_SET:STRING=community
INSTALL_LAYOUT:STRING=STANDALONE
INSTALL_PKGCONFIGDIR:PATH=
LIBEVENT_INCLUDE_DIRS:PATH=/opt/software/mysql5.7/mysql-5.7.28/extra/libevent/include/opt/software/mysql5.7/mysql-5.7.28/extra/libevent/include
LIBEVENT_LIBRARIES:STRING=eventevent_coreevent_extra
LIBRARY_OUTPUT_PATH:PATH=
LOCAL_BOOST_DIR:PATH=/opt/software/mysql5.7/mysql-5.7.28/boost/boost_1_59_0
LOCAL_BOOST_ZIP:FILEPATH=LOCAL_BOOST_ZIP-NOTFOUND
MUTEXTYPE:STRING=event
MYSQL_DATADIR:PATH=/mysql/data
MYSQL_KEYRINGDIR:PATH=/usr/local/mysql/keyring
MYSQL_MAINTAINER_MODE:BOOL=OFF
MY_PKG_CONFIG_EXECUTABLE:FILEPATH=/usr/bin/pkg-config
OPENSSL_INCLUDE_DIR:PATH=/usr/include
OPENSSL_LIBRARY:FILEPATH=/usr/lib64/libssl.so
OPENSSL_ROOT_DIR:PATH=/usr
OPTIMIZER_TRACE:BOOL=ON
REPRODUCIBLE_BUILD:BOOL=OFF
RPC_INCLUDE_DIRS:PATH=/usr/include
SASL_SYSTEM_LIBRARY:FILEPATH=SASL_SYSTEM_LIBRARY-NOTFOUND
TMPDIR:PATH=P_tmpdir
WITH_ARCHIVE_STORAGE_ENGINE:BOOL=ON
WITH_ASAN:BOOL=OFF
WITH_ASAN_SCOPE:BOOL=OFF
WITH_BLACKHOLE_STORAGE_ENGINE:BOOL=ON
WITH_BOOST:PATH=/opt/software/mysql5.7/mysql-5.7.28/boost/boost_1_59_0
WITH_CLIENT_PROTOCOL_TRACING:BOOL=ON
WITH_DEBUG:BOOL=OFF
WITH_DEFAULT_COMPILER_OPTIONS:BOOL=ON
WITH_DEFAULT_FEATURE_SET:BOOL=ON
WITH_EDITLINE:STRING=bundled
WITH_EMBEDDED_SERVER:BOOL=ON
WITH_EMBEDDED_SHARED_LIBRARY:BOOL=OFF
WITH_EXTRA_CHARSETS:STRING=all
WITH_FEDERATED_STORAGE_ENGINE:BOOL=ON
WITH_INNODB_EXTRA_DEBUG:BOOL=OFF
WITH_INNODB_MEMCACHED:BOOL=OFF
WITH_LIBEVENT:STRING=bundled
WITH_LIBWRAP:BOOL=OFF
WITH_LZ4:STRING=bundled
WITH_MECAB:STRING=
WITH_MSAN:BOOL=OFF
WITH_NGRAM_PARSER:BOOL=ON
WITH_NUMA:BOOL=OFF
WITH_PARTITION_STORAGE_ENGINE:BOOL=ON
WITH_PIC:BOOL=OFF
WITH_RAPID:BOOL=ON
WITH_SASL:STRING=system
WITH_SSL:STRING=system
WITH_SYSTEMD:BOOL=OFF
WITH_TEST_TRACE_PLUGIN:BOOL=OFF
WITH_UBSAN:BOOL=OFF
WITH_UNIT_TESTS:BOOL=ON
WITH_VALGRIND:BOOL=OFF
WITH_ZLIB:STRING=bundled
XPLUGIN_LOG_PROTOBUF:STRING=1

===== EOF =====

 

仅供参考,有问题可以留言讨论,大家一起进步!

 

posted @ 2020-08-06 15:30  波~士顿  阅读(734)  评论(0)    收藏  举报