mysql 5.6 버전 기준입니다.
cmake로 컴파일 하는 버전, 즉 5.5.9 버전부터 최근에 나온 버전(5.7.2) 까지는 거의 동일합니다.
따라서 사용중인 mysql 버전이 5.5버전 이상인 경우는 버전에 크게 신경 안써도 됩니다.
설치시 어떤 옵션을 주어야 할지 몰라서 오신분들은 마지막 부분에 추천 옵션만 보시면 됩니다.
옵션중 "bool"로 표기돼 있는 것은 0(OFF) 또는 1(ON)로 주면 됩니다.
ex)-DENABLED_LOCAL_INFILE=bool 이란 옵션이 있다면
-DENABLED_LOCAL_INFILE=1(활성화)
-DENABLED_LOCAL_INFILE=0(비활성화) 입니다.
-DENABLED_LOCAL_INFILE 옵션의 기본값은 off 입니다. 따라서 이 옵션을 사용하지 않는다면 안써주면 됩니다.
그러나 이 옵션을 활성화 해야 한다면 -DENABLED_LOCAL_INFILE=1 으로 하면 됩니다.
---------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------
Installation Layout Options
-DINSTALL_LAYOUT=name 기본값=standalone
사전 정의 된 설치의 레이아웃을 선택.
standalone = 동일한 레이아웃입니다. tar.gz 형식을 위해 사용. ZIP 패키지
rpm:RPM 패키지와 비슷한 레이아웃.
svr4:Solaris 패키지 레이아웃.
deb:DEB 패키지 레이아웃. 실험(미완성버전?이나 테스트용을 뜻하는듯)
ex)solaris 패키지 레이아웃으로 설치를 원한다면 -DINSTALL_LAYOUT=svr4
솔라리스 레이아웃을 선택하지만 추가로 다른 옵션을 지정하여 개별 구성 요소의 설치 위치를 변경 할수 있다.
예를들면
shell> cmake . -DINSTALL_LAYOUT=SVR4 -DMYSQL_DATADIR=/var/mysql/data
(레이아웃은 솔라리스패키지용으로 설치하되, mysql datadir는 /var/mysql/data로 지정)
-DCMAKE_INSTALL_PREFIX=dir_name 기본값=/usr/local/mysql
mysql 디렉토리 설치 경로 지정
-DINSTALL_BINDIR=dir_name 기본값=PREFIX/bin
bin 파일
-DINSTALL_DOCDIR=dir_name 기본값=PREFIX/docs
documentaion 파일
-DINSTALL_DOCREADMEDIR=dir_name 기본값=PREFIX
readme 파일
-DINSTALL_INCLUDEDIR=dir_name 기본값=PREFIX/include
header 파일
-DINSTALL_INFODIR=dir_name 기본값=PREFIX/docs
info 파일
-DINSTALL_LIBDIR=dir_name 기본값=PREFIX/lib
library 파일
-DINSTALL_MANDIR=dir_name 기본값=PREFIX/man
manual page
-DINSTALL_MYSQLSHAREDIR=dir_name 기본값=PREFIX/share
shared data 파일
-DINSTALL_MYSQLTESTDIR=dir_name 기본값=PREFIX/mysql-test
mysql-test 디렉토리
-DINSTALL_PLUGINDIR=dir_name 기본값=PREFIX/lib/plugin
plugin 디렉토리
-DINSTALL_SBINDIR=dir_name 기본값=PREFIX/bin
mysqld server 파일
-DINSTALL_스크립트DIR=dir_name 기본값=PREFIX/스크립트s
mysql_install_db 디렉토리
-DINSTALL_SHAREDIR=dir_name 기본값=PREFIX/share
aclocal/mysql.m4 파일
-DINSTALL_SQLBENCHDIR=dir_name 기본값=PREFIX
sql-bench 디렉토리
-DINSTALL_SUPPORTFILESDIR=dir_name 기본값=PREFIX/support-files
extra support files 파일
-DMYSQL_DATADIR=dir_name
mysql data디렉토리
-DODBC_INCLUDES=dir_name
ODBC includes 디렉토리
-DODBC_LIB_DIR=dir_name
ODBC library 디렉토리
-DSYSCONFDIR=dir_name
기본 my.cnf의 옵션 파일 디렉토리
--------------------------------------------------------------------
CMAKE_INSTALL_PREFIX 와 MYSQL_DATADIR 옵션을 제외한 나머지 옵션들은 따로 설정할 필요가 없다.
이유는 보시다시피 전부 기본값이 CMAKE_INSTALL_PREFIX 옵션으로 지정해준 경로의 하위 디렉토리이기 때문이다.
MYSQL_DATADIR 는 편한대로 지정해주면 된다.
Installation Layout Options 중에서 알아둬야할 옵션은 -DCMAKE_INSTALL_PREFIX 와 MYSQL_DATADIR 이다.
나머지는 기본값으로 해도 무방하다.
---------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------
Storage Engine Options
서버에 정적스토리지 엔진 설정
-DWITH_engine_STORAGE_ENGINE=1
ex)
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1
반대로 제외할려면
-DWITHOUT_engine_STORAGE_ENGINE=1
myisam 엔진은 따로 설정할 필요가 없다.
---------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------
Feature Options
-DCOMPILATION_COMMENT=string
컴파일 환경에 대한 설명 코멘트
-DDEFAULT_CHARSET=charset_name 기본값:latin1
서버의 기본 케릭터셋 설정
-DDEFAULT_COLLATION=collation_name 기본값:latin1_swedish_ci
서버의 기본 콜레이션 설정
-DENABLE_DEBUG_SYNC=bool
서버에 디버깅 동기화 기능을 컴파일하는것으로 , 테스트 및 디버깅을 위해 사용됨.
이 옵션은 기본적으로 활성화 되어 있지만 mysql 설정에서 디버깅이 구성되어 있지 않으면 효과가 없다.
디버깅을 활성화하고 디버깅 동기화를 비활성화하는 경우는 -DENABLE_DEBUG_SYNC=0 옵션을 사용
-DENABLE_DOWNLOADS=bool 기본값:off
어떤 파일을 다운로드할지 여부
-DENABLE_DTRACE=bool
DTrace 프로브의 지원을 포함할지 여부
-DENABLE_GCOV=bool
gcov의 지원을 포함할지 여부 (리눅스에서 가능)
-DENABLE_GPROF=bool 기본값:off
gprof 사용 여부(최적화된 리눅스에서 가능)
-DENABLED_LOCAL_INFILE=bool 기본값:off
LOAD DATA INFILE에 대한 클라이언트 라이브러리에서 LOCAL 기능을 사용할지 여부
-DENABLED_PROFILING=bool 기본값:on
쿼리 프로파일 링 코드를 사용할지 여부
-DIGNORE_AIO_CHECK=bool 기본값:off
DBUILD_CONFIG=mysql_release옵션을 줬을때 libaio 라이브러리 검사를 무시
-DMYSQL_MAINTAINER_MODE=bool 기본값:off
MySQL의 메인테이너 특정 개발 환경을 사용할지 여부
-DMYSQL_PROJECT_NAME=name 기본값:3306
Windows or Mac OS X 에서만 사용가능
-DMYSQL_TCP_PORT=port_number 기본값:3306
tcp/ip 포트 넘버 설정
-DMYSQL_UNIX_ADDR=file_name 기본값:/tmp/mysql.sock
서버가 소켓 연결을 수신하는 Unix 소켓 파일의 경로.
절대경로로 써주어야 합니다.
-DOPTIMIZER_TRACE=bool
최적화 프로그램 추적을 지원하는지 여부
-DWITH_DEBUG=bool 기본값:Off
디버깅 지원을 포함할지 여부
-DWITH_DEFAULT_COMPILER_OPTIONS=bool 기본값:ON
기본 컴파일러 옵션을 사용할지 여부
-DWITH_DEFAULT_FEATURE_SET=bool 기본값:ON
기본 freature 옵션을 사용할지 여부
위에 두 옵션의 기본 옵션의 위치는 cmake/build_configurations/'compiler' or feature_set.cmake 파일
-DWITH_EXTRA_CHARSETS=name 기본값:all
추가로 지원할 케릭터셋 설정
-DWITH_INNODB_MEMCACHED=bool 기본값:OFF
memcached의 공유 라이브러리를 생성할지 여부(libmemcached.so and innodb_engine.so)
-DWITH_LIBEVENT=string 기본값:bundled
두 libevent 라이브러리 사용
-DWITH_LIBEDIT=bool 기본값:on
bundled libedit 라이브러리를 사용
-DWITH_LIBWRAP=bool 기본값:off
libwrap의 (TCP wrappers) 지원을 포함할지 여부
-DWITH_READLINE=bool 기본값:off
bundled readline 라이브러리를 사용
readline은 오래된 번들로서 5.6.5 버전부터 삭제된 옵션
-DWITH_SSL={ssl_type|path_name} 기본값:no
ssl 지원 여부
-DWITH_UNIXODBC=1 기본값:off
unixodbc사용가능 여부
-DWITH_ZLIB=zlib_type 기본값:system
zlib지원 여부
-DWITHOUT_SERVER=bool 기본값:off
mysqlserver없이 구축할지 여부
---------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------
추천 옵션
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DSYSCONFDIR=/free/mysql_data
-DMYSQL_UNIX_ADDR=/usr/local/mysql/tmp/mysql.sock
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_EXTRA_CHARSETS=complex
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1
-DWITH_READLINE=1
-DMYSQL_TCP_PORT=3306
-DENABLED_LOCAL_INFILE=1
-DMYSQL_USER=mysql
설명
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
mysql 디렉토리 지정.
-DSYSCONFDIR=/free/mysql_data
db디렉토리 지정
-DMYSQL_UNIX_ADDR=/usr/local/mysql/tmp/mysql.sock
mysql.sock 위치 지정.
-DDEFAULT_CHARSET=utf8
디폴트 케릭터셋 지정
-DDEFAULT_COLLATION=utf8_general_ci
디폴트 콜레이션 지정
-DWITH_EXTRA_CHARSETS=complex
추가 지원할 케릭터셋 all,complex,none 이 있다. all 로 줘도 무방하지만 complex로 줘도 충분합니다.
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1
스토리지 엔진 장착
(mysql5.6부터는 기본 엔진이 innodb이고, 각 엔진마다 장단점이 있다.설치후 변경 가능)
-DWITH_READLINE=1
readline 사용 가능
이 옵션을 사용하면 원격접속후 mysql에서 한글 타이핑시 한글이 보입니다. 사용하지 않으면 한글이 보이지 않고 그냥 빈 공백으로 보입니다. 그러나 테스트 결과 옵션 적용해도 글자가 안 보입니다. 어차피 이제 곧 없어질 옵션이니 써도 그만 안써도 그만, 크게 신경 쓸 필요없는 옵션입니다.
이 옵션은 5.6.6 부터는 사용되지 않습니다. 이유는 너무 오래된 번들이기 때문.
-DMYSQL_TCP_PORT=3306
mysql 기본 포트 3306
-DENABLED_LOCAL_INFILE=1
local_infile 변수 사용 가능하게끔.
텍스트 파일의 데이터를 특정 테이블에 저장하는 변수.
-DMYSQL_USER=mysql
이 옵션은 공식홈페이지에는 나와있지 않은 옵션입니다. 그러나 mysql 설치하시는 분들중 종종 이 옵션을 넣더군요. 테스트결과 서버에 아무 지장 없으니 넣어도 그만 안넣어도 그만입니다.
mysql사용자를 "mysql"이란 사용자로 하는거겠지요 ?
이상 mysql 설치시 옵션에 대해 알아보았습니다.
5.6버전 기준이며 mysql 공식 홈페이지 http://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html 참조 하였습니다.
몇몇 옵션들은 기본값이 off로 돼 있어도 설치해보면 on으로 돼있는 경우도 있습니다.
ex)-DENABLED_LOCAL_INFILE=1 //디폴트값은 0ff로서 이옵션을 주지 않으면 off로 돼있어야 하지만 on으로 돼있음
그렇기 때문에 옵션값과 디폴트값이 같더라도 중요한 옵션은 다시한번 적어주었습니다.
ex)-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
서버 환경이나 용도에 따라 변경 하셔야 합니다.
'job > mysql' 카테고리의 다른 글
mysql update replace (0) | 2018.09.03 |
---|---|
mysql history 로그 설정 (0) | 2018.09.03 |
mysql select 문 (0) | 2018.09.03 |
mysql 케릭터셋 (0) | 2018.09.03 |
mysql 로그 설정 (0) | 2018.09.03 |