2.9.4 MySQL 소스 구성 옵션
CMake 프로그램을 사용하면 MySQL 소스 배포판의 구성 방법을 상당히 제어 할 수 있습니다. 이는 일반적으로 CMake 명령 행에서 옵션을 사용하여 수행합니다. CMake가 지원하는 옵션에 대한 자세한 최상위 소스 디렉토리에서 다음 명령 중 하나를 실행합니다.
shell>cmake . -LH
shell>ccmake .
특정 환경 변수를 사용하여 CMake에 영향을 미칠 수 있습니다. 섹션 2.12 "환경 변수" 를 참조하십시오.
다음 표는 사용 가능한 CMake 옵션을 보여줍니다. default
열에서 PREFIX
는 CMAKE_INSTALL_PREFIX
옵션 값을 의미합니다. 이것은 설치 기본 디렉토리를 지정합니다. 이 값은 일부 설치 하위 디렉토리의 부모의 장소로 사용됩니다.
표 2.11 MySQL 소스 구성 옵션 참조 (CMake)
형식 | 설명 | 기본 | 도입 | 삭제 |
---|---|---|---|---|
BUILD_CONFIG | 공식 릴리스와 동일한 빌드 옵션을 사용 | |||
CMAKE_BUILD_TYPE | 생성하는 빌드 유형 | RelWithDebInfo | ||
CMAKE_CXX_FLAGS | C ++ 컴파일러 플래그 | |||
CMAKE_C_FLAGS | C 컴파일러 플래그 | |||
CMAKE_INSTALL_PREFIX | 기본 설치 디렉토리 | / usr / local / mysql | ||
COMPILATION_COMMENT | 컴파일 환경에 대한 의견 | |||
CPACK_MONOLITHIC_INSTALL | 패키지 빌드가 단독 파일을 생성할지 여부 | OFF | ||
DEFAULT_CHARSET | 기본 서버 문자 집합 | latin1 | ||
DEFAULT_COLLATION | 기본 서버 데이터 정렬 | latin1_swedish_ci | ||
ENABLED_LOCAL_INFILE | LOAD DATA INFILE에 LOCAL를 활성화할지 여부 | OFF | ||
ENABLED_PROFILING | 쿼리 프로파일 링 코드를 사용할지 여부 | ON | ||
ENABLE_DEBUG_SYNC | Debug Sync 지원을 활성화할지 여부 | ON | ||
ENABLE_DOWNLOADS | 옵션 파일을 다운로드할지 여부 | OFF | ||
ENABLE_DTRACE | DTrace 지원을 포함할지 여부 | |||
ENABLE_GCOV | gcov 지원을 포함할지 여부 | 5.6.3 | ||
ENABLE_GPROF | gprof의 활성화 (Linux 빌드에만 최적화) | OFF | 5.6.6 | |
IGNORE_AIO_CHECK | -DBUILD_CONFIG = mysql_release 함께 libaio 검사를 무시하는 | OFF | 5.6.1 | |
INNODB_PAGE_ATOMIC_REF_COUNT | 원자 페이지 참조 카운트를 활성화하거나 비활성화 할 | ON | 5.6.16 | |
INSTALL_BINDIR | 사용자 실행 파일 디렉토리 | PREFIX / bin | ||
INSTALL_DOCDIR | 문서 디렉토리 | PREFIX / docs | ||
INSTALL_DOCREADMEDIR | README 파일 디렉토리 | PREFIX | ||
INSTALL_INCLUDEDIR | Header 파일 디렉토리 | PREFIX / include | ||
INSTALL_INFODIR | Info 파일 디렉토리 | PREFIX / docs | ||
INSTALL_LAYOUT | 사전 정의 설치 레이아웃 선택 | STANDALONE | ||
INSTALL_LIBDIR | Library 파일 디렉토리 | PREFIX / lib | ||
INSTALL_MANDIR | Manual 페이지 디렉토리 | PREFIX / man | ||
INSTALL_MYSQLSHAREDIR | 공유 데이터 디렉토리 | PREFIX / share | ||
INSTALL_MYSQLTESTDIR | mysql-test 디렉토리 | PREFIX / mysql-test | ||
INSTALL_PLUGINDIR | Plugin 디렉토리 | PREFIX / lib / plugin | ||
INSTALL_SBINDIR | 서버 실행 파일 디렉토리 | PREFIX / bin | ||
INSTALL_SCRIPTDIR | Scripts 디렉토리 | PREFIX / scripts | ||
INSTALL_SHAREDIR | aclocal / mysql.m4 설치 디렉토리 | PREFIX / share | ||
INSTALL_SQLBENCHDIR | sql-bench 디렉토리 | PREFIX | ||
INSTALL_SUPPORTFILESDIR | 기타 지원 파일 디렉토리 | PREFIX / support-files | ||
MEMCACHED_HOME | memcached 경로 | [none] | ||
MYSQL_DATADIR | 데이터 디렉토리 | |||
MYSQL_MAINTAINER_MODE | MySQL 관리자 고유의 개발 환경을 사용할 수 있는지 여부 | OFF | ||
MYSQL_PROJECT_NAME | Windows / OS X 프로젝트 이름 | 3306 | 5.6.5 | |
MYSQL_TCP_PORT | TCP / IP 포트 번호 | 3306 | ||
MYSQL_UNIX_ADDR | Unix 소켓 파일 | /tmp/mysql.sock | ||
ODBC_INCLUDES | ODBC 인클루드 디렉토리 | |||
ODBC_LIB_DIR | ODBC 라이브러리 디렉토리 | |||
OPTIMIZER_TRACE | 최적화 프로그램 추적을 지원하는지 여부 | 5.6.3 | ||
SUNPRO_CXX_LIBRARY | Solaris 10+ 클라이언트 연결 라이브러리 | 5.6.20 | ||
SYSCONFDIR | 옵션 파일 디렉토리 | |||
TMPDIR | tmpdir의 기본값 | 5.6.16 | ||
WITHOUT_SERVER | 서버를 구축하지 | OFF | ||
WITHOUT_xxx_STORAGE_ENGINE | 스토리지 엔진 xxx를 빌드에서 제외 | |||
WITH_ASAN | AddressSanitizer 활성화 | OFF | 5.6.15 | |
WITH_BUNDLED_LIBEVENT | ndbmemcache 빌드시에 번들 된 libevent를 사용 | ON | ||
WITH_BUNDLED_MEMCACHED | ndbmemcache 빌드시에 번들 된 memcached를 사용 | ON | ||
WITH_CLASSPATH | Java 용 MySQL Cluster Connector를 빌드 할 때 사용하는 클래스 경로입니다. 기본값은 빈 문자열입니다. |
| ||
WITH_DEBUG | 디버깅 지원을 포함할지 여부 | OFF | ||
WITH_DEFAULT_COMPILER_OPTIONS | 기본 컴파일러 옵션을 사용할지 여부 | ON | 5.6.6 | |
WITH_DEFAULT_FEATURE_SET | 기본 기능 세트를 사용할지 여부 | ON | 5.6.6 | |
WITH_EDITLINE | 어떤 libedit / editline 라이브러리를 사용하거나 | bundled | 5.6.12 | |
WITH_EMBEDDED_SERVER | 임베디드 서버를 구축 여부 | OFF | ||
WITH_EMBEDDED_SHARED_LIBRARY | 공유 임베디드 서버 라이브러리를 빌드할지 여부 | OFF | 5.6.17 | |
WITH_ERROR_INSERT | NDB 스토리지 엔진의 오류 주입을 활성화합니다. 실전에 대한 바이너리 빌드에는 사용하지 마십시오. | OFF | ||
WITH_EXTRA_CHARSETS | 어떤 추가 문자 집합을 포함하거나 | all | ||
WITH_INNODB_MEMCACHED | memcached 공유 라이브러리를 생성할지 여부. | OFF | ||
WITH_LIBEDIT | 번들 된 libedit 라이브러리를 사용 | ON | 5.6.12 | |
WITH_LIBEVENT | 어떤 libevent 라이브러리를 사용하거나 | bundled | 5.6.6 | |
WITH_LIBWRAP | libwrap (TCP 래퍼) 지원을 포함할지 여부 | OFF | ||
WITH_NDBCLUSTER_STORAGE_ENGINE | NDB 스토리지 엔진의 빌드 | ON | ||
WITH_NDBMTD | 멀티 스레드 데이터 노드를 빌드합니다. | ON | ||
WITH_NDB_BINLOG | mysqld에 의한 바이너리 로깅을 기본적으로 활성화. | ON | ||
WITH_NDB_DEBUG | 테스트 또는 문제 해결을위한 디버그 빌드를 생성합니다. | OFF | ||
WITH_NDB_JAVA | Java 및 ClusterJ 빌드의 지원을 활성화합니다. 기본적으로 활성화. MySQL Cluster에서만 지원. | ON | ||
WITH_NDB_PORT | 이 옵션에서 빌드 된 관리 서버가 사용하는 기본 포트. 빌드에이 옵션을 사용하지 않으면 관리 서버의 기본 포트는 1186입니다. | [none] | ||
WITH_NDB_TEST | NDB API 테스트 프로그램을 포함. | OFF | ||
WITH_READLINE | 번들 된 readline 라이브러리를 사용 | OFF | 5.6.5 | |
WITH_SSL | SSL 지원 유형 | bundled | ||
WITH_UNIXODBC | unixODBC 지원 활성화 | OFF | ||
WITH_VALGRIND | Valgrind 헤더 파일을 컴파일 여부 | OFF | ||
WITH_ZLIB | zlib 지원 유형 | system | ||
WITH_xxx_STORAGE_ENGINE | 스토리지 엔진 xxx를 서버에 정적으로 컴파일 |
다음 섹션에서는 CMake 옵션에 대해 자세히 설명합니다.
General Options
Installation Layout Options
Feature Options
CMake Options for Compiling MySQL Cluster
Compiler Flags
boolean 옵션 값을 1 또는 ON
으로 지정하고 옵션을 활성화하거나 0 또는 OFF
로 지정하여 비활성화합니다.
많은 옵션은 컴파일시 기본값을 구성하고 서버 시작시 무시할 수 있습니다. 예를 들어, 기본 설치 기반 디렉토리 TCP / IP 포트 번호 및 Unix 소켓 파일을 구성하는 CMAKE_INSTALL_PREFIX
, MYSQL_TCP_PORT
및 MYSQL_UNIX_ADDR
각 옵션은 서버를 시작할 때 mysqld의 --basedir
, --port
및 --socket
옵션 로 변경할 수 있습니다. 해당하는 경우에는 구성 옵션의 설명에 해당하는 mysqld 시작 옵션을 보여줍니다.
일반 옵션
-DBUILD_CONFIG = mysql_release
이 옵션은 오라클이 공식 MySQL 릴리즈 바이너리 배포판을 생성하는 데 사용하는 것과 같은 빌드 옵션에서 소스 배포를 구성합니다.
-DCMAKE_BUILD_TYPE =
type
생성하는 빌드 유형
RelWithDebInfo
: 최적화를 활성화하고 디버깅 정보를 생성합니다. 이것은 기본적으로 MySQL 빌드 타입입니다.Debug
: 최적화를 해제하고 디버깅 정보를 생성합니다. 이 빌드 타입은WITH_DEBUG
옵션이 유효한 경우에도 사용됩니다. 즉,-DWITH_DEBUG=1
은-DCMAKE_BUILD_TYPE=Debug
와 같은 효과를가집니다.
-DCPACK_MONOLITHIC_INSTALL =
bool
이 옵션은 make package 작업이 여러 설치 패키지 파일을 만들거나 단일 파일을 만들거나에 영향을줍니다. 사용하지 않는 경우이 작업은 여러 설치 패키지 파일을 만듭니다. 이것은 전체 MySQL 설치 중 일부만 설치하는 경우에 유용합니다. 활성화되면 모든 설치하기위한 하나의 파일을 만듭니다.
설치 레이아웃 옵션
CMAKE_INSTALL_PREFIX
옵션은 기본 설치 디렉토리를 나타냅니다. 구성 요소의 위치를 나타내는 INSTALL_
형식의 이름을 가진 다른 옵션은 프리픽스에 상대적인 것으로 해석되어 그 값은 상대 경로 이름입니다. 그 값은 프리픽스를 포함하지 않습니다. xxx
-DCMAKE_INSTALL_PREFIX =
dir_name
설치 기본 디렉토리.
이 값은 서버 시작시
--basedir
옵션에서 설정할 수 있습니다.-DINSTALL_BINDIR =
dir_name
사용자 프로그램을 설치하는 장소.
-DINSTALL_DOCDIR =
dir_name
문서를 설치하는 장소.
-DINSTALL_DOCREADMEDIR =
dir_name
README
파일을 설치할 위치.-DINSTALL_INCLUDEDIR =
dir_name
헤더 파일을 설치하는 장소.
-DINSTALL_INFODIR =
dir_name
Info 파일을 설치하는 장소.
-DINSTALL_LAYOUT =
name
사전 정의 설치 레이아웃을 선택합니다.
STANDALONE
:.tar.gz
및.zip
패키지에서 사용되는 것과 같은 레이아웃. 이것은 기본입니다.RPM
: RPM 패키지와 동일한 레이아웃.SVR4
: Solaris 패키지 레이아웃.DEB
: DEB 패키지 레이아웃 (실험적).
미리 정의 된 레이아웃을 선택할 수 있지만 다른 옵션을 지정하여 개별 구성 요소의 설치 위치를 변경할 수 있습니다. 예 :
shell>
cmake . -DINSTALL_LAYOUT=SVR4 -DMYSQL_DATADIR=/var/mysql/data
-DINSTALL_LIBDIR =
dir_name
라이브러리 파일을 설치하는 장소.
-DINSTALL_MANDIR =
dir_name
매뉴얼 페이지를 설치할 위치.
-DINSTALL_MYSQLSHAREDIR =
dir_name
공유 데이터 파일을 설치할 위치.
-DINSTALL_MYSQLTESTDIR =
dir_name
mysql-test
디렉토리를 설치하는 장소. MySQL 5.6.12에서는이 디렉토리에 설치하지 않으려면 옵션을 명시 적으로 빈 값으로 설정합니다 (-DINSTALL_MYSQLTESTDIR=
).-DINSTALL_PLUGINDIR =
dir_name
플러그인 디렉토리 위치.
이 값은 서버 시작시
--plugin_dir
옵션에서 설정할 수 있습니다.-DINSTALL_SBINDIR =
dir_name
mysqld 서버를 설치하는 장소.
-DINSTALL_SCRIPTDIR =
dir_name
mysql_install_db를 설치하는 장소.
-DINSTALL_SHAREDIR =
dir_name
aclocal/mysql.m4
를 설치하는 장소.-DINSTALL_SQLBENCHDIR =
dir_name
sql-bench
디렉토리를 설치하는 장소. 이 디렉토리에 설치하지 않으려면 옵션을 명시 적으로 빈 값으로 설정합니다 (-DINSTALL_SQLBENCHDIR=
).-DINSTALL_SUPPORTFILESDIR =
dir_name
추가 지원 파일을 설치하는 장소.
-DMYSQL_DATADIR =
dir_name
MySQL 데이터 디렉토리 위치.
이 값은 서버 시작시
--datadir
옵션으로 설정할 수 있습니다.-DODBC_INCLUDES =
dir_name
ODBC 인클루드 디렉토리 위치. Connector / ODBC 구성 중에 사용 될 수 있습니다.
-DODBC_LIB_DIR =
dir_name
ODBC 라이브러리 디렉토리 위치. Connector / ODBC 구성 중에 사용 될 수 있습니다.
-DSYSCONFDIR =
dir_name
기본
my.cnf
옵션 파일 디렉토리.이 위치는 서버 시작시에는 설정할 수 없습니다 만,
--defaults-file=
옵션을 사용하여 지정된 옵션 파일에서 서버를 시작할 수 있습니다. 여기서file_name
file_name
은 파일의 전체 경로 이름입니다.-DTMPDIR =
dir_name
tmpdir
시스템 변수에 사용되는 기본 위치입니다. 지정하지 않으면 값은 기본적으로P_tmpdir
in<stdio.h>
입니다. 이 옵션은 MySQL 5.6.16에서 추가되었다.
스토리지 엔진 옵션
스토리지 엔진은 플러그인으로 빌드됩니다. 플러그인은 정적 모듈 (서버에 컴파일) 또는 동적 모듈 (사용하기 전에 INSTALL PLUGIN
문 또는 --plugin-load
옵션을 사용하여 서버에 설치해야하는 동적 라이브러리로 빌드)로 빌드 할 수 있습니다. 일부 플러그인은 정적 또는 동적 빌드를 지원하지 않을 수 있습니다.
MyISAM
, MERGE
, MEMORY
및 CSV
엔진은 필수 (반드시 서버에 컴파일)에서 명시 적으로 설치할 필요가 없습니다.
스토리지 엔진을 서버에 정적으로 컴파일하려면 -DWITH_
을 사용합니다. 허용되는 engine
_STORAGE_ENGINE=1engine
값은 ARCHIVE
, BLACKHOLE
, EXAMPLE
, FEDERATED
, INNOBASE
( InnoDB
), NDB
또는 NDBCLUSTER
( NDB
) PARTITION
(분할 지원) 및 PERFSCHEMA
(Performance Schema)입니다. 예 :
-DWITH_INNOBASE_STORAGE_ENGINE = 1 -DWITH_ARCHIVE_STORAGE_ENGINE = 1 -DWITH_BLACKHOLE_STORAGE_ENGINE = 1 -DWITH_PERFSCHEMA_STORAGE_ENGINE = 1
WITH_NDBCLUSTER_STORAGE_ENGINE
는 MySQL Cluster를 MySQL Cluster 소스를 사용하여 빌드하는 경우에만 지원됩니다. 다른 MySQL 소스 트리 또는 배포에서 클러스터링 지원을 활성화하는 데 사용할 수 없습니다. MySQL Cluster 소스 배포판은 기본적으로 활성화됩니다. 자세한 내용은 섹션 18.2.2.3 "Linux 소스에서 MySQL Cluster 구축" 및 섹션 18.2.3.2 "Windows에서 소스에서 MySQL Cluster의 컴파일 및 설치" 를 참조하십시오.
스토리지 엔진을 빌드에서 제외하려면 -DWITHOUT_
을 사용합니다. 예 : engine
_STORAGE_ENGINE=1
-DWITHOUT_EXAMPLE_STORAGE_ENGINE = 1 -DWITHOUT_FEDERATED_STORAGE_ENGINE = 1 -DWITHOUT_PARTITION_STORAGE_ENGINE = 1
스토리지 엔진에 -DWITH_
도 engine
_STORAGE_ENGINE-DWITHOUT_
도 지정되어 있지 않은 경우, 그 엔진은 공유 모듈로 빌드되거나 공유 모듈로 빌드 할 수없는 경우는 제외됩니다. engine
_STORAGE_ENGINE
기능 옵션
-DCOMPILATION_COMMENT =
string
컴파일 환경에 관한 설명 코멘트.
-DDEFAULT_CHARSET =
charset_name
서버의 문자 세트. 기본적으로 MySQL은
latin1
(cp1252 서부 유럽) 문자 집합을 사용합니다.charset_name
은binary
,armscii8
,ascii
,big5
,cp1250
,cp1251
,cp1256
,cp1257
,cp850
,cp852
,cp866
,cp932
,dec8
,eucjpms
,euckr
,gb2312
,gbk
,geostd8
,greek
,hebrew
,hp8
,keybcs2
,koi8r
,koi8u
,latin1
,latin2
,latin5
,latin7
,macce
,macroman
,sjis
,swe7
,tis620
,ucs2
,ujis
,utf8
,utf8mb4
,utf16
,utf16le
,utf32
중 하나에 있습니다. 허용되는 문자 세트는cmake/character_sets.cmake
파일에CHARSETS_AVAILABLE
값으로 나열되어 있습니다.이 값은 서버 시작시
--character_set_server
옵션에서 설정할 수 있습니다.-DDEFAULT_COLLATION =
collation_name
서버 데이터 정렬. 기본적으로 MySQL은
latin1_swedish_ci
을 사용합니다. 각 문자 집합에 어떤 데이터 정렬을 사용할지 여부를 결정하려면SHOW COLLATION
명령문을 사용합니다.이 값은 서버 시작시
--collation_server
옵션에서 설정할 수 있습니다.-DENABLE_DEBUG_SYNC =
bool
Debug Sync 기능을 서버에 컴파일 여부. 이 기능은 테스트 및 디버깅에 사용됩니다. 이 옵션은 기본적으로 활성화되어 있지만 MySQL에서 디버깅이 활성화 구성되어 있지 않으면 효과가 없습니다. 디버깅이 활성화되고 Debug Sync를 비활성화하려면
-DENABLE_DEBUG_SYNC=0
을 사용합니다.컴파일 된 경우 런타임에는 Debug Sync는 기본적으로 사용할 수 없습니다. 활성화하려면 mysqld를
--debug-sync-timeout=
옵션을 사용하여 시작합니다. 여기서N
N
은 0보다 큰 제한 시간 값입니다. (기본값은 0에서 Debug Sync를 비활성화합니다.)N
은 각각 동기화 포인트의 기본 제한됩니다.Debug Sync 기능 및 동기 점의 사용 방법에 대한 설명은 " MySQL Internals : Test Synchronization "를 참조하십시오.
-DENABLE_DOWNLOADS =
bool
옵션 파일을 다운로드할지 여부. 예를 들어,이 옵션을 활성화하면 CMake는 단위 테스트를 실행하기 위해 테스트 스위트가 사용하는 Google Test 배포를 다운로드합니다.
-DENABLE_DTRACE =
bool
DTrace 프로브의 지원을 포함할지 여부. DTrace 내용은 5.4 절 "DTrace를 사용하여 mysqld 추적" 을 참조하십시오.
-DENABLE_GCOV =
bool
gcov 지원을 포함할지 여부 (Linux 만 해당).
-DENABLE_GPROF =
bool
gprof
를 사용할지 여부 (최적화 된 Linux 빌드 만 해당). 이 옵션은 MySQL 5.6.6에서 추가되었습니다.-DENABLED_LOCAL_INFILE =
bool
LOCAL
기능을LOAD DATA INFILE
의 클라이언트 라이브러리에서 사용할 수 있는지 여부.이 옵션은 클라이언트 측
LOCAL
기능을 제어합니다.이 기능은--local-infile
옵션을 사용하여 서버 측에서 서버를 시작할 때 설정할 수 있습니다. 섹션 6.1.6 "LOAD DATA LOCAL의 보안 문제" 를 참조하십시오.-DENABLED_PROFILING =
bool
쿼리 프로파일 링 코드를 사용할지 여부 (
SHOW PROFILE
및SHOW PROFILES
문).-DIGNORE_AIO_CHECK =
bool
Linux에서
-DBUILD_CONFIG=mysql_release
옵션이 주어진 경우 기본적으로libaio
라이브러리가 연결되어 있지 않으면 안됩니다.libaio
가 없거나 설치하지 않으면-DIGNORE_AIO_CHECK=1
을 지정하면 그 체크를 억제 할 수 있습니다. 이 옵션은 MySQL 5.6.1에서 추가되었습니다.-DINNODB_PAGE_ATOMIC_REF_COUNT =
bool
원자 페이지 참조 카운트를 활성화하거나 비활성화 하는가? 버퍼 풀에서 페이지를 페치 풀어 페이지의 상태를 추적하는 것은 비용이 많이 복잡한 작업입니다. 페이지의 상호 배타 락을 사용하여 이러한 작업을 추적하면 잘 확장되지 않습니다.
INNODB_PAGE_ATOMIC_REF_COUNT=ON
(기본값)에서, 페치와 해방은 가능하면 원자를 사용하여 추적됩니다. 원자를 지원하지 않는 플랫폼에서는 원자 페이지 참조 카운트를 해제하도록INNODB_PAGE_ATOMIC_REF_COUNT=OFF
를 설정합니다.원자 페이지 참조 카운트가 활성화되면 (기본값) 서버를 시작할 때 "
[Note] InnoDB: Using atomics to ref count buffer pool pages
"가 오류 로그에 출력됩니다. 원자 페이지 참조 카운트가 잘못된 경우 대신 "[Note] InnoDB: Using mutexes to ref count buffer pool pages
"이 출력됩니다.INNODB_PAGE_ATOMIC_REF_COUNT
은 MySQL Bug # 68079 솔루션으로 도입되었습니다. 이 옵션은 MySQL 5.7.5에서 삭제되었습니다. 원자의 지원은 MySQL을 MySQL 5.7.5로 빌드하기 위해 필요합니다. 따라서이 옵션은 비추천입니다.-DMYSQL_MAINTAINER_MODE =
bool
MySQL 관리자 고유의 개발 환경을 사용할 수 있는지 여부. 활성화되면이 옵션은 컴파일러의 경고는 오류입니다.
-DMYSQL_PROJECT_NAME =
name
Windows 또는 OS X에서는 프로젝트 파일 이름에 통합 프로젝트 이름. 이 옵션은 MySQL 5.6.5에서 추가되었습니다.
-DMYSQL_TCP_PORT =
port_num
서버가 TCP / IP 연결을 수신하는 포트 번호. 기본값은 3306입니다.
이 값은 서버 시작시
--port
옵션에서 설정할 수 있습니다.-DMYSQL_UNIX_ADDR =
file_name
서버가 소켓 연결을 대기하는 Unix 소켓 파일의 경로. 이것은 절대 경로 이름이어야합니다. 기본값은
/tmp/mysql.sock
입니다.이 값은 서버 시작시
--socket
옵션에서 설정할 수 있습니다.-DOPTIMIZER_TRACE =
bool
최적화 프로그램 추적을 지원할지 여부. " MySQL Internals : Tracing the Optimizer "를 참조하십시오. 이 옵션은 MySQL 5.6.3에서 추가되었습니다.
-DWITH_ASAN =
bool
AddressSanitizer을 활성화할지 여부 (지원하는 컴파일러의 경우). 기본값은 꺼짐입니다. 이 옵션은 MySQL 5.6.15에서 추가되었다.
-DWITH_DEBUG =
bool
디버깅 지원을 포함할지 여부.
디버깅 지원을 사용하여 MySQL을 구성하여 서버를 시작할 때
--debug="d,parser_debug"
옵션을 사용할 수있게됩니다. 이렇게하면 SQL 문 처리에 사용되는 Bison 파서 파서 추적을 서버의 표준 에러 출력에 덤프합니다. 일반적으로이 출력 오류 로그에 기록됩니다.-DWITH_DEFAULT_FEATURE_SET =
bool
cmake/build_configurations/feature_set.cmake
에서 플래그를 사용할지 여부. 이 옵션은 MySQL 5.6.6에서 추가되었습니다.-DWITH_EDITLINE =
value
어떤
libedit
/editline
라이브러리를 사용 하는가? 허용되는 값은bundled
(기본) 및system
입니다.WITH_EDITLINE
는 MySQL 5.6.12에서 추가되었다. 이것은 삭제 된WITH_LIBEDIT
을 대체합니다.-DWITH_EMBEDDED_SERVER =
bool
libmysqld
임베디드 서버 라이브러리를 빌드할지 여부.-DWITH_EMBEDDED_SHARED_LIBRARY =
bool
공유
libmysqld
임베디드 서버 라이브러리를 빌드할지 여부. 이 옵션은 MySQL 5.6.17에서 추가되었다.-DWITH_EXTRA_CHARSETS =
name
어떤 추가 문자 집합을 포함 하는가?
all
: 모든 문자 집합입니다. 이것은 기본입니다.complex
: 복잡한 문자 세트.none
: 추가 문자 집합 없음.
-DWITH_INNODB_MEMCACHED =
bool
memcached 공유 라이브러리 (
libmemcached.so
및innodb_engine.so
)를 생성할지 여부.-DWITH_LIBEVENT =
string
어떤
libevent
라이브러리를 사용 하는가? 허용되는 값은bundled
(기본값),system
및yes
입니다.system
또는yes
를 지정하면 시스템libevent
라이브러리가 존재하면 그것이 사용됩니다. 시스템 라이브러리가 없으면 번들libevent
라이브러리가 사용됩니다.libevent
라이브러리는InnoDB
memcached가 필요합니다.-DWITH_LIBEDIT =
bool
배포에 번들되는
libedit
라이브러리를 사용할지 여부.WITH_LIBEDIT
은 MySQL 5.6.12에서 삭제되었습니다. 대신WITH_EDITLINE
을 사용합니다.-DWITH_LIBWRAP =
bool
libwrap
(TCP 래퍼) 지원을 포함할지 여부.-DWITH_READLINE =
bool
배포에 번들되는
readline
라이브러리를 사용할지 여부.readline
은 번들 않으므로이 옵션은 MySQL 5.6.5에서 삭제되었습니다.-DWITH_SSL={
|ssl_type
path_name
}포함 SSL 지원 유형 (있는 경우) 또는 사용하는 OpenSSL 설치 경로 이름.
ssl_type
다음 값 중 하나를 지정할 수 있습니다.no
: SSL 지원되지 않습니다. 이것은 MySQL 5.6.6 이전의 기본입니다. 5.6.6에서는 이것이 허용되는 값은 없습니다. 기본값은bundled
입니다.yes
: 시스템의 SSL 라이브러리가 있으면 그것을 사용합니다. 그렇지 않은 경우는 배포에 번들 된 라이브러리를 사용합니다.bundled
: 배포에 번들 된 SSL 라이브러리를 사용합니다. 이것은 MySQL 5.6.6의 기본입니다.system
: 시스템의 SSL 라이브러리를 사용합니다.
path_name
, MySQL 5.6.7 이후에 허용됩니다. 사용하는 OpenSSL 설치 경로 이름입니다. CMake가 시스템에 설치된 오래된 또는 잘못된 OpenSSL 버전을 감지하고 사용하는 것을 방지 할 수 있기 때문에system
의ssl_type
값을 사용하는 것보다 이쪽이 권장됩니다. (같은 일을하는 또 하나의 허용되는 방법은CMAKE_PREFIX_PATH
옵션을path_name
에 세트하는 것입니다.)
SSL 지원 사용의 자세한 내용은 섹션 6.3.10 "안전한 연결을위한 SSL 사용" 을 참조하십시오.
-DWITH_UNIXODBC =
1
Connector / ODBC에 대해 unixODBC 지원을 활성화합니다.
-DWITH_VALGRIND =
bool
Valgrind 헤더 파일을 컴파일할지 여부. 이렇게하면 Valgrind API가 MySQL 코드에 노출됩니다. 기본값은
OFF
입니다.Valgrind 대응의 디버그 빌드를 생성하려면
-DWITH_VALGRIND=1
보통-DWITH_DEBUG=1
과 결합됩니다. Building Debug Configurations 를 참조하십시오.-DWITH_ZLIB =
zlib_type
일부 기능은 서버가
COMPRESS()
와UNCOMPRESS()
함수 등의 압축 라이브러리 지원으로 구축되어 있는지, 클라이언트 / 서버 프로토콜의 압축을 필요로합니다.WITH_ZLIB
는zlib
지원의 소스를 나타냅니다.bundled
: 배포에 번들 된zlib
라이브러리를 사용합니다.system
: 시스템zlib
라이브러리를 사용합니다. 이것은 기본입니다.
-DWITHOUT_SERVER =
bool
MySQL Server없이 빌드 여부. 기본값은
OFF
로 서버를 구축합니다.
컴파일러 플래그
-DCMAKE_C_FLAGS="
"flags
C 컴파일러 플래그.
-DCMAKE_CXX_FLAGS="
"flags
C ++ 컴파일러 플래그.
-DWITH_DEFAULT_COMPILER_OPTIONS =
bool
cmake/build_configurations/compiler_options.cmake
에서 플래그를 사용할지 여부. 이 옵션은 MySQL 5.6.6에서 추가되었습니다.참고모든 최적화 플래그는 MySQL 빌드 팀에 의해 신중하게 선택 및 테스트되어 있습니다. 무시하면 예기치 않은 결과를 초래할 수 있습니다. 자기 책임하에 수행하십시오.
-DSUNPRO_CXX_LIBRARY="
"lib_name
Solaris 10 이상에서
stlport4
대신libCstd
에 대한 링크를 제공합니다. 서버는 C ++ 98에 의존하기 때문에 이것은 클라이언트 코드에만 작동합니다. 사용 예 :cmake -DWITHOUT_SERVER = 1 -DSUNPRO_CXX_LIBRARY = Cstd
이 옵션은 MySQL 5.6.20에서 추가되었다.
자신의 C 및 C ++ 컴파일러 플래그를 지정하려면 최적화에 영향을주지 플래그의 경우 CMAKE_C_FLAGS
및 CMAKE_CXX_FLAGS
CMake 옵션을 사용합니다.
자신의 컴파일러 플래그를 제공하는 경우 CMAKE_BUILD_TYPE
지정하면 좋을 것입니다.
예를 들어, 32 비트 릴리스 빌드를 64 비트 Linux 컴퓨터에 만들려면 다음과 같이합니다.
shell>mkdir bld
shell>cd bld
shell>cmake .. -DCMAKE_C_FLAGS=-m32 \
-DCMAKE_CXX_FLAGS = -m32 \
-DCMAKE_BUILD_TYPE = RelWithDebInfo
최적화에 영향을주는 플래그 ( -O
)를 세트하는 경우 number
CMAKE_C_FLAGS_
및 / 또는 build_type
CMAKE_CXX_FLAGS_
옵션을 설정해야합니다. 여기에서 build_type
build_type
는 CMAKE_BUILD_TYPE
값에 해당합니다. 기본 빌드 타입 ( RelWithDebInfo
) 다른 최적화를 지정하려면 CMAKE_C_FLAGS_RELWITHDEBINFO
및 CMAKE_CXX_FLAGS_RELWITHDEBINFO
옵션을 설정합니다. 예를 들어, Linux에서 -O3
및 디버그 기호를 사용하여 컴파일하려면 다음과 같이합니다.
shell>cmake .. -DCMAKE_C_FLAGS_RELWITHDEBINFO="-O3 -g" \
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO = "- O3 -g"
MySQL Cluster의 컴파일을위한 CMake 옵션
다음 옵션은 MySQL Cluster를 MySQL Cluster 소스에서 빌드하는 데 사용됩니다. 현재 MySQL 5.6 Server 트리에서 소스를 사용하는 경우는 지원되지 않습니다.
-DMEMCACHED_HOME =
path
path
에 나타나는 시스템 디렉토리에 설치 된 memcached (버전 1.6 이상)를 사용하여 빌드를 실행합니다. 빌드에 사용되는이 설치에서 파일 memcached 바이너리 헤더 파일 및 라이브러리 이외에memcached_utilities
라이브러리 및 헤더 파일engine_testapp.h
을 포함합니다.ndbmemcache
를 번들 memcached 소스를 사용하여 빌드 할 경우 (WITH_BUNDLED_MEMCACHED
옵션)이 옵션은 설정하지 마십시오. 즉 기본적으로 번들 소스가 사용됩니다.이 옵션은 MySQL Cluster NDB 7.2.2에서 추가되었습니다.
SASL 승인 및
dtrace
지원 제공 등 추가 CMake 옵션은 외부 소스에서 memcached를 컴파일 할 때 사용할 수 있지만 이러한 옵션은 현재 MySQL Cluster에 번들되는 memcached 소스는 사용이되어 없습니다.-DWITH_BUNDLED_LIBEVENT = {ON | OFF}
MySQL Cluster를 ndbmemcached 지원 (MySQL Cluster NDB 7.2.2 이상)에서 빌드 할 때, MySQL Cluster 소스에 포함 된
libevent
를 사용합니다. 기본적으로 활성화. OFF하면 시스템의 libevent가 대신 사용됩니다.-DWITH_BUNDLED_MEMCACHED = {ON | OFF}
MySQL Cluster 소스 트리 (MySQL Cluster NDB 7.2.3 이후)에 포함 된 memcached 소스를 빌드하고 ndbmemcache 엔진을 빌드 할 때 그 결과 memcached 서버를 사용합니다. 이 경우, make install는 memcached 바이너리를 설치
bin
디렉토리에두고 ndbmemcache 엔진 공유 객체 파일ndb_engine.so
을 설치lib
디렉토리에 놓습니다.이 옵션은 기본적으로 ON입니다.
-DWITH_CLASSPATH =
path
Java 용 MySQL Cluster Connector를 빌드 할 때 사용하는 클래스 경로를 설정합니다. 기본값은 비어 있습니다. MySQL Cluster NDB 7.2.9 이상에서
-DWITH_NDB_JAVA=OFF
를 사용하는 경우이 옵션은 무시됩니다.-DWITH_ERROR_INSERT = {ON | OFF}
NDB
커널 오류 주입을 활성화합니다. 테스트 전용입니다. 운영 환경의 바이너리 빌드에 사용하는 것은 의도하지 않습니다. 기본값은OFF
입니다.-DWITH_NDBCLUSTER_STORAGE_ENGINE = {ON | OFF}
mysqld가
NDB
(NDBCLUSTER
) 스토리지 엔진 지원 빌드 및 링크. 기본값은ON
입니다.-DWITH_NDBCLUSTER = {ON | OFF}
이것은
WITH_NDBCLUSTER_STORAGE_ENGINE
의 별칭입니다.-DWITH_NDBMTD = {ON | OFF}
멀티 스레드 데이터 노드 실행 파일 ndbmtd를 빌드합니다. 기본값은
ON
입니다.-DWITH_NDB_BINLOG = {ON | OFF}
이 옵션을 사용하여 mysqld 빌드에서 기본적으로 바이너리 로깅을 활성화합니다. 기본적으로 ON입니다.
-DWITH_NDB_DEBUG = {ON | OFF}
MySQL Cluster 바이너리의 디버그 버전의 빌드를 사용합니다. 기본적으로 OFF입니다.
-DWITH_NDB_JAVA = {ON | OFF}
ClusterJ
을 포함하여 MySQL Cluster의 Java 지원하도록 빌드를 사용합니다.이 옵션은 MySQL Cluster NDB 7.2.9에서 추가 된 기본적으로 ON입니다.MySQL Cluster를 Java 지원과 함께 컴파일하지 않는 경우는 CMake 실행시
-DWITH_NDB_JAVA = OFF
를 지정하여 명시 적으로 해제해야합니다. 그렇지 않으면 Java가 감지 할 수없는 경우 빌드 구성이 실패합니다.-DWITH_NDB_PORT =
port
빌드 된 MySQL Cluster 관리 서버 ( ndb_mgmd )가이
port
를 기본적으로 사용하도록합니다. 이 옵션이 설정되어 있지 않은 경우, 결과 관리 서버는 기본적으로 포트 1186을 사용하려고합니다.-DWITH_NDB_TEST = {ON | OFF}
활성화되면 NDB API 테스트 프로그램을 포함합니다. 기본값은 OFF입니다.