$ cmake \
'-DCMAKE_INSTALL_PREFIX=/usr/local/mysql' \
'-DINSTALL_SBINDIR=/usr/local/mysql/bin' \
'-DINSTALL_BINDIR=/usr/local/mysql/bin' \
'-DMYSQL_DATADIR=/usr/local/mysql/data' \
'-DINSTALL_SCRIPTDIR=/usr/local/mysql/bin' \
'-DWITH_INNOBASE_STORAGE_ENGINE=1' \
'-DWITH_PARTITION_STORAGE_ENGINE=1' \
'-DSYSCONFDIR=/usr/local/mysql/etc' \
'-DDEFAULT_CHARSET=utf8' \
'-DDEFAULT_COLLATION=utf8_general_ci' \
'-DWITH_EXTRA_CHARSETS=all' \
'-DWITH_SSL=bundled' \
'-DWITH_SSL_PATH=/usr/include/openssl' \
'-DENABLED_LOCAL_INFILE=1' \
'-DMYSQL_TCP_PORT=3306' \
'-DMYSQL_UNIX_ADDR=/tmp/mysql.sock' \
'-DCURSES_LIBRARY=/usr/lib64/libncurses.so' \
'-DCURSES_INCLUDE_PATH=/usr/include' \
'-DDOWNLOAD_BOOST=1' \
'-DWITH_BOOST=/usr/local/src/boost_1_59_0' \
'-DWITH_ARCHIVE_STORAGE_ENGINE=1' \
'-DWITH_BLACKHOLE_STORAGE_ENGINE=1' \
'-DWITH_PERFSCHEMA_STORAGE_ENGINE=1' \
'-DWITH_FEDERATED_STORAGE_ENGINE=1'
-DWITH_SSL=/usr/local/openssl-1.0.1l
-DWITH_ZLIB=system -DMYSQL_DATADIR=/usr/local/mysql-5.6.22/data -DENABLE_DOWNLOADS=1
$ cmake \
'-DCMAKE_INSTALL_PREFIX=/usr/local/mysql' = mysql을 설치할 기본 경로 지정
'-DINSTALL_SBINDIR=/usr/local/mysql/bin' = mysqld server 설치할 위치 지정
'-DINSTALL_BINDIR=/usr/local/mysql/bin' = 사용자 프로그램을 설치할 위치 지정
'-DMYSQL_DATADIR=/usr/local/mysql/data' = MySQL 데이터 디렉토리 위치 지정
'-DINSTALL_SCRIPTDIR=/usr/local/mysql/bin' = mysql_install_db 설치할 위치 지정
'-DWITH_INNOBASE_STORAGE_ENGINE=1' = 기본적인 STORAGE ENGINE을 INNODB로 쓰겠다는 의미
'-DWITH_PARTITION_STORAGE_ENGINE=1' = 확장 가능한 스토리지 엔진 사용가능
'-DSYSCONFDIR=/usr/local/mysql/etc' = my.cnf 옵션 파일 디렉토리 위치 지정
'-DDEFAULT_CHARSET=utf8' = 언어셋을 utf8로 지정
'-DDEFAULT_COLLATION=utf8_general_ci' = 콜레이션을 utf8_general_ci 로 설정. utf8_general_ci란 다국어에서 사용되는 억양, 강세를 모두 떼내고 대문자를 모두 소문자로 변환해서 비교 수행하도록 한다.
'-DWITH_EXTRA_CHARSETS=all' = all이 기본이며, 모든 문자열 셋을 포함한다는 의미
'-DWITH_SSL=bundled' = MySQL은 SSL 라이브러리를 무조건 사용해야하는데, 특정 옵션(yes, bundled, system)을 정하여 사용한다. MySQL5.7 에서는 bundled가 기본.
'-DWITH_SSL_PATH=/usr/include/openssl' = 설치한 OpenSSL 경로를 지정
'-DENABLED_LOCAL_INFILE=1' = MySQL 문법 중에 load data infile이라는 것이 있다. txt 파일 등을 mysql data로 가져오는 문법이라 편리하지만 보안상의 문제가 동시에 발생하기 때문에 1로 지정해준다.
'-DMYSQL_TCP_PORT=3306' = TCP/IP 연결시 사용하는 포트 번호 지정. 기본 3306.
'-DMYSQL_UNIX_ADDR=/tmp/mysql.sock' = 기본은 /tmp/mysql.sock 이며, Unix socket 파일 경로는 서버에 소켓 연결할 때 지정된다.
'-DCURSES_LIBRARY=/usr/lib64/libncurses.so' \
'-DCURSES_INCLUDE_PATH=/usr/include' \
'-DDOWNLOAD_BOOST=1' = Boost 라이브러리 다운로드 여부. 기본 값은 Off(0).
'-DWITH_BOOST=/usr/local/src/boost_1_59_0' = Boost 라이브러리 다운로드한 경로 지정
// 서버에서 스토리지 엔진을 정적으로 컴파일한다면, 아래와 같은 설정들을 할 수 있다.
'-DWITH_ARCHIVE_STORAGE_ENGINE=1'
'-DWITH_BLACKHOLE_STORAGE_ENGINE=1'
'-DWITH_PERFSCHEMA_STORAGE_ENGINE=1'
'-DWITH_FEDERATED_STORAGE_ENGINE=1'