• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.6 한글메뉴얼) [close]
  • 1. MySQL 5.6 새로운 기능
  • 2. MySQL 설치 및 업그레이드
  • 1. 일반적인 설치 가이드
    2. 일반적인 바이너리를 사용하여 MySQL의 Unix / Linux에 설치
    3. Microsoft Windows에 MySQL 설치
    4. OS X에 MySQL 설치
    5. Linux에 MySQL 설치
    6. Unbreakable Linux Network (ULN)를 사용한 MySQL 설치
    7. Solaris 및 OpenSolaris에 MySQL을 설치
    8. FreeBSD에 MySQL 설치
    9. Installing MySQL from Source
    1. 소스 설치 MySQL의 레이아웃
    2. 표준 소스 배포판을 사용하여 MySQL 설치
    3. 개발 소스 트리를 사용하여 MySQL 설치
    4. MySQL 소스 구성 옵션
    5. MySQL 컴파일에 관한 문제
    6. MySQL의 구성 및 Third-Party 도구
    10. 설치 후 설정 및 테스트
    11. MySQL 업그레이드 및 다운 그레이드
    12. 환경 변수
    13. Perl 설치에 대한 설명
  • 3. MySQL Tutorial
  • 4. MySQL 프로그램
  • 5. MySQL 서버관리
  • 6. 보안
  • 7. 백업 및 복구
  • 8. 최적화
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 12. 함수와 연산자
  • 13. SQL 문법
  • 14. InnoDB 스토리지 엔진
  • 15. 기타 스토리지 엔진
  • 16. 고가용성 및 확장성
  • 17. 리플리케이션
  • 18. MySQL Cluster
  • 19. 파티셔닝
  • 20. Stored Programs and Views
  • 21. INFORMATION_SCHEMA
  • 22. PERFORMANCE SCHEMA
  • 23. 컨넥터 및 API
  • 24. MySQL 확장
  • 25. MySQL Enterprise Edition
  • 26. MySQL Workbench
  • 27. 제약 및 제한
  • 28. MySQL 5.7 새로운 기능

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_STORAG​​E_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_STORAG​​E_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_STORAG​​E_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=1 을 사용합니다. 허용되는 engine 값은 ARCHIVE , BLACKHOLE , EXAMPLE , FEDERATED , INNOBASE ( InnoDB ), NDB 또는 NDBCLUSTER ( NDB ) PARTITION (분할 지원) 및 PERFSCHEMA (Performance Schema)입니다. 예 :

 -DWITH_INNOBASE_STORAG​​E_ENGINE = 1
 -DWITH_ARCHIVE_STORAG​​E_ENGINE = 1
 -DWITH_BLACKHOLE_STORAG​​E_ENGINE = 1
 -DWITH_PERFSCHEMA_STORAG​​E_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_STORAG​​E_ENGINE = 1
 -DWITHOUT_FEDERATED_STORAG​​E_ENGINE = 1
 -DWITHOUT_PARTITION_STORAG​​E_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 헤더 파일을 컴파일할지 여부. 이렇게하면 V​​algrind 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_STORAG​​E_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입니다.



서울시 강남구 영동대로 602 6층
TEL: 02-6061-0006  /  E: csr@mysqlkorea.com
주식회사 이노클러스터  등록번호 : 727-86-02261
Copyright © innocluster Co. ltd. all rights reserved