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_nameREADME파일을 설치할 위치.-DINSTALL_INCLUDEDIR =dir_name헤더 파일을 설치하는 장소.
-DINSTALL_INFODIR =dir_nameInfo 파일을 설치하는 장소.
-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_namemysql-test디렉토리를 설치하는 장소. MySQL 5.6.12에서는이 디렉토리에 설치하지 않으려면 옵션을 명시 적으로 빈 값으로 설정합니다 (-DINSTALL_MYSQLTESTDIR=).-DINSTALL_PLUGINDIR =dir_name플러그인 디렉토리 위치.
이 값은 서버 시작시
--plugin_dir옵션에서 설정할 수 있습니다.-DINSTALL_SBINDIR =dir_namemysqld 서버를 설치하는 장소.
-DINSTALL_SCRIPTDIR =dir_namemysql_install_db를 설치하는 장소.
-DINSTALL_SHAREDIR =dir_nameaclocal/mysql.m4를 설치하는 장소.-DINSTALL_SQLBENCHDIR =dir_namesql-bench디렉토리를 설치하는 장소. 이 디렉토리에 설치하지 않으려면 옵션을 명시 적으로 빈 값으로 설정합니다 (-DINSTALL_SQLBENCHDIR=).-DINSTALL_SUPPORTFILESDIR =dir_name추가 지원 파일을 설치하는 장소.
-DMYSQL_DATADIR =dir_nameMySQL 데이터 디렉토리 위치.
이 값은 서버 시작시
--datadir옵션으로 설정할 수 있습니다.-DODBC_INCLUDES =dir_nameODBC 인클루드 디렉토리 위치. Connector / ODBC 구성 중에 사용 될 수 있습니다.
-DODBC_LIB_DIR =dir_nameODBC 라이브러리 디렉토리 위치. Connector / ODBC 구성 중에 사용 될 수 있습니다.
-DSYSCONFDIR =dir_name기본
my.cnf옵션 파일 디렉토리.이 위치는 서버 시작시에는 설정할 수 없습니다 만,
--defaults-file=옵션을 사용하여 지정된 옵션 파일에서 서버를 시작할 수 있습니다. 여기서file_namefile_name은 파일의 전체 경로 이름입니다.-DTMPDIR =dir_nametmpdir시스템 변수에 사용되는 기본 위치입니다. 지정하지 않으면 값은 기본적으로P_tmpdirin<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 =boolDebug Sync 기능을 서버에 컴파일 여부. 이 기능은 테스트 및 디버깅에 사용됩니다. 이 옵션은 기본적으로 활성화되어 있지만 MySQL에서 디버깅이 활성화 구성되어 있지 않으면 효과가 없습니다. 디버깅이 활성화되고 Debug Sync를 비활성화하려면
-DENABLE_DEBUG_SYNC=0을 사용합니다.컴파일 된 경우 런타임에는 Debug Sync는 기본적으로 사용할 수 없습니다. 활성화하려면 mysqld를
--debug-sync-timeout=옵션을 사용하여 시작합니다. 여기서NN은 0보다 큰 제한 시간 값입니다. (기본값은 0에서 Debug Sync를 비활성화합니다.)N은 각각 동기화 포인트의 기본 제한됩니다.Debug Sync 기능 및 동기 점의 사용 방법에 대한 설명은 " MySQL Internals : Test Synchronization "를 참조하십시오.
-DENABLE_DOWNLOADS =bool옵션 파일을 다운로드할지 여부. 예를 들어,이 옵션을 활성화하면 CMake는 단위 테스트를 실행하기 위해 테스트 스위트가 사용하는 Google Test 배포를 다운로드합니다.
-DENABLE_DTRACE =boolDTrace 프로브의 지원을 포함할지 여부. DTrace 내용은 5.4 절 "DTrace를 사용하여 mysqld 추적" 을 참조하십시오.
-DENABLE_GCOV =boolgcov 지원을 포함할지 여부 (Linux 만 해당).
-DENABLE_GPROF =boolgprof를 사용할지 여부 (최적화 된 Linux 빌드 만 해당). 이 옵션은 MySQL 5.6.6에서 추가되었습니다.-DENABLED_LOCAL_INFILE =boolLOCAL기능을LOAD DATA INFILE의 클라이언트 라이브러리에서 사용할 수 있는지 여부.이 옵션은 클라이언트 측
LOCAL기능을 제어합니다.이 기능은--local-infile옵션을 사용하여 서버 측에서 서버를 시작할 때 설정할 수 있습니다. 섹션 6.1.6 "LOAD DATA LOCAL의 보안 문제" 를 참조하십시오.-DENABLED_PROFILING =bool쿼리 프로파일 링 코드를 사용할지 여부 (
SHOW PROFILE및SHOW PROFILES문).-DIGNORE_AIO_CHECK =boolLinux에서
-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 =boolMySQL 관리자 고유의 개발 환경을 사용할 수 있는지 여부. 활성화되면이 옵션은 컴파일러의 경고는 오류입니다.
-DMYSQL_PROJECT_NAME =nameWindows 또는 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 =boolAddressSanitizer을 활성화할지 여부 (지원하는 컴파일러의 경우). 기본값은 꺼짐입니다. 이 옵션은 MySQL 5.6.15에서 추가되었다.
-DWITH_DEBUG =bool디버깅 지원을 포함할지 여부.
디버깅 지원을 사용하여 MySQL을 구성하여 서버를 시작할 때
--debug="d,parser_debug"옵션을 사용할 수있게됩니다. 이렇게하면 SQL 문 처리에 사용되는 Bison 파서 파서 추적을 서버의 표준 에러 출력에 덤프합니다. 일반적으로이 출력 오류 로그에 기록됩니다.-DWITH_DEFAULT_FEATURE_SET =boolcmake/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 =boollibmysqld임베디드 서버 라이브러리를 빌드할지 여부.-DWITH_EMBEDDED_SHARED_LIBRARY =bool공유
libmysqld임베디드 서버 라이브러리를 빌드할지 여부. 이 옵션은 MySQL 5.6.17에서 추가되었다.-DWITH_EXTRA_CHARSETS =name어떤 추가 문자 집합을 포함 하는가?
all: 모든 문자 집합입니다. 이것은 기본입니다.complex: 복잡한 문자 세트.none: 추가 문자 집합 없음.
-DWITH_INNODB_MEMCACHED =boolmemcached 공유 라이브러리 (
libmemcached.so및innodb_engine.so)를 생성할지 여부.-DWITH_LIBEVENT =string어떤
libevent라이브러리를 사용 하는가? 허용되는 값은bundled(기본값),system및yes입니다.system또는yes를 지정하면 시스템libevent라이브러리가 존재하면 그것이 사용됩니다. 시스템 라이브러리가 없으면 번들libevent라이브러리가 사용됩니다.libevent라이브러리는InnoDBmemcached가 필요합니다.-DWITH_LIBEDIT =bool배포에 번들되는
libedit라이브러리를 사용할지 여부.WITH_LIBEDIT은 MySQL 5.6.12에서 삭제되었습니다. 대신WITH_EDITLINE을 사용합니다.-DWITH_LIBWRAP =boollibwrap(TCP 래퍼) 지원을 포함할지 여부.-DWITH_READLINE =bool배포에 번들되는
readline라이브러리를 사용할지 여부.readline은 번들 않으므로이 옵션은 MySQL 5.6.5에서 삭제되었습니다.-DWITH_SSL={|ssl_typepath_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 =1Connector / ODBC에 대해 unixODBC 지원을 활성화합니다.
-DWITH_VALGRIND =boolValgrind 헤더 파일을 컴파일할지 여부. 이렇게하면 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 =boolMySQL Server없이 빌드 여부. 기본값은
OFF로 서버를 구축합니다.
컴파일러 플래그
-DCMAKE_C_FLAGS=""flagsC 컴파일러 플래그.
-DCMAKE_CXX_FLAGS=""flagsC ++ 컴파일러 플래그.
-DWITH_DEFAULT_COMPILER_OPTIONS =boolcmake/build_configurations/compiler_options.cmake에서 플래그를 사용할지 여부. 이 옵션은 MySQL 5.6.6에서 추가되었습니다.참고모든 최적화 플래그는 MySQL 빌드 팀에 의해 신중하게 선택 및 테스트되어 있습니다. 무시하면 예기치 않은 결과를 초래할 수 있습니다. 자기 책임하에 수행하십시오.
-DSUNPRO_CXX_LIBRARY=""lib_nameSolaris 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 bldshell>cd bldshell>cmake .. -DCMAKE_C_FLAGS=-m32 \-DCMAKE_CXX_FLAGS = -m32 \-DCMAKE_BUILD_TYPE = RelWithDebInfo
최적화에 영향을주는 플래그 ( -O )를 세트하는 경우 numberCMAKE_C_FLAGS_ 및 / 또는 build_typeCMAKE_CXX_FLAGS_ 옵션을 설정해야합니다. 여기에서 build_typebuild_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 =pathpath에 나타나는 시스템 디렉토리에 설치 된 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 =pathJava 용 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입니다.