MySQL 설치를 보면 대부분 간단하게 yum 을 이용한 설치를 알려준다.
MySQL 엔지니어는 안해봤지만, Oracle Engineer를 한 경험상, UI를 통해 설치하는 경우도 대부분이긴 하지만,
단순히 Typicall 이 아닌 Manual 대로 진행하는 경우가 보통이다.
즉, 설정값 들을 수동으로 진행하는 경우가 대부분 이었다.
그래서 나는 단순 설치가 아닌 CMake를 이용한 source 설치를
물론 책에도 이렇게 진행하는 방식을 알려준다...
MySQL 5.6.31 로 진행하였으며, mysql 홈페이지 가면 찾기가 조금 까다롭다.
해당 페이지를 참조하면서 설치 하였다.
http://jmkjb.tistory.com/entry/MySQL5621SetupSourceCompile
먼저 souce 파일을 다운받아 보자.
현재 테스트 서버는 CentOS 5.6 이다
[root@devDB:/root]# rpm -qa | grep release
centos-release-5-6.el5.centos.1
http://dev.mysql.com/downloads/mysql/5.6.html#downloads 에서 다운받아 진행했다.
여기서 select platform 을 눌러보면 Source Code가 있는데 선택해서 맞는 OS 에 대해 다운 받으면 된다.
이지 참고를 하면 금방 찾을 수 있을 것이다.
이 후, 책을 참고 하여 진행 하였다.
다운 받은 파일을 압축을 풀어 압축 푼 폴더 내에서 build_target이라는 폴더를 생성한다.
mkdir -p /home/Setup/mysql-5.6.31/build_target
MySQL 5.5부터는 CMake를 이용한 Makefile를 생성 해야 한다.
다만 여기서 책과 다른 점은 SSL 이다. SSL 에 대한 정보는 다음과 같은데,
책에서는 0으로 설정했는데, bundled 로 나는 선택했다.
만약 여기서 에러가 생기면 해당 폴더(여기서는 /home/Setup/mysql-5.6.31/build_target) 를 다 삭제 후에 다시 진행해야한다.
또한 에러 찾기 위해서는 CMakeLists.txt 파일을 열어 찾아 보는 것을 추천한다. 나도 에런 코드 위치 찾아 보니 SSL 관련 된 내용이 있길레 변경을 한 후 진행하였다..
맨 마지막에 done 으로 뜨면 완료 된 것이다.
먼저, 자신이 설치할 위치에 디렉터리 권한 설정 및 가급적 폴더까지 생성하자.
mkdir -p /usr/local/rmysql/bin
mkdir -p /usr/local/rmysql/etc
mkdir -p /usr/local/rmysql/data
...
chown -R root /usr/local/rmysql
chown -R mysql /usr/local/rmysql/data
chown -R mysql /usr/local/rmysql/bin
chown -R mysql /usr/local/rmysql/etc
chgrp -R dba /usr/local/rmysql
...
*CMake 파일 생성 정보
$ cmake .. \
'-DCMAKE_INSTALL_PREFIX=/usr/local/rmysql' \ //자기에 맞는 경로를 설정하자(mysql 엔진설치 위치)
'-DWITH_COMMENT=Toto mysql standard x86_64' \
'-DINSTALL_SBINDIR=/usr/local/rmysql/bin' \
'-DINSTALL_BINDIR=/usr/local/rmysql/bin' \
'-DINSTALL_LAYOUT=STANDALONE' \
'-DMYSQL_DATADIR=/usr/local/rmysql/data' \ //데이터 위치
'-DSYSCONFDIR=/usr/local/rmysql/etc' \
'-DINSTALL_SCRIPDIR=/usr/local/rmysql/bin' \
'-DWITH_INNOBASE_STORAGE_ENGINE=1' \
'-DWITH_ARCHIVE_STORAGE_ENGINE=1' \
'-DWITH_BLACKHOE_STORAGE_ENGINE=1' \
'-DWITH_PERFSCHEMA_STORAGE_ENGIN=1' \
'-DWITH_PARTITION_STORAGE_ENGINE=1' \
'-DWITH_FEDERATED_STORAGE_ENGINE=1' \
'-DENABLE_DEBUG_SYNC=0' \
'-DENABLED_LOCAL_INFILE=1' \
'-DENABLED_PROFILING=1' \
'-DWITH_DEBUG=0' \
'-DWITH_LIBWRAP=0' \
'-DWITH_READLINE=1' \
'-DWITH_SSL=bundled' \
'-DCMAKE_BUILD_TYPE=RelWithDebInfo' \
'-DCMAKE_C_FLAGS=-02' \
'-DCMAKE_CXX_FLAGS=-02'
해당 속성 정보들은 아래와 같다
[펌] http://www.programkr.com/blog/MkjMxADMwYTz.html
지정 설치 파일 설치 경로 때 자주 쓰는 옵션
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql # 지정 설치 경로 (기본 바로/usr/local/mysql) -DMYSQL_DATADIR=/data/mysql # mysql 데이터 파일 경로 -DSYSCONFDIR=/etc # 프로필 경로
컴파일 과정 중에 다른 저장소 엔진 사용하기
-DWITH_INNOBASE_STORAGE_ENGINE=1 # INNOBASE 저장소 엔진 사용하기 -DWITH_ARCHIVE_STORAGE_ENGINE=1 # 자주 사용하는 로그 및 집계 분석 한다, 지원하지 않는 인덱스 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 # 블랙홀 저장소 엔진
컴파일 과정에서 일부 저장소 엔진, 취소
-DWITHOUT_<ENGINE>_STORAGE_ENGINE=1 예제 다음과 같다: -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITHOUT_FEDERATED_STORAGE_ENGINE=1 -DWITHOUT_PARTITION_STORAGE_ENGINE=1
컴파일 들어갈 과정에서 기능 활성화 명령 소개
-DWITH_READLINE=1 # 지원 대량 가져오기 mysql 데이터 -DWITH_SSL=system # mysql 지원 ssl 회화 구현 기반 ssl 데이터 회답하다 -DWITH_ZLIB=system # 압축 라이브러리 -DWITH_LIBWRAP=0 # WRAP 실현할 수 있는지 기반 접근 제어
기타 기능 명령
-DMYSQL_TCP_PORT=3306 # 기본 포트 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock # 기본 소켓 파일 경로 -DENABLED_LOCAL_INFILE=1 # LOCAL_INFILE 기능 사용 여부 -DEXTRA_CHARSETS=all # 혹시 지원 추가 문자 집합 -DDEFAULT_CHARSET=utf8 # 기본 인코딩 메커니즘 -DDEFAULT_COLLATION=utf8_general_ci # 기본 언어 데이터 정렬 -DWITH_DEBUG=0 # DEBUG 기능 설정 -DENABLE_PROFILING=1 # 성능 처리 기능 사용 여부
이것까지 완료 되었다면, 이제 Install를 진행하자.
$ make && make install
이렇게 치면 다음과 같이 설치가 진행 되는 것을 확인할 수 있다.
옆에 %가 나와서 보기가 좋다.
에러가 난 적은 없지만..에러가 어떻게 하면 에러가 찾을 수 있을지는 나중으로........나도 찾아봐야 하기에;;;ㅠ
이제 DB를 생성해 보자.
vi /etc/RMy.cnf 라는 이름으로 생성해 보자.
'MySQL' 카테고리의 다른 글
[MySQL]5.6.31 source 설치 (3) - 완료 (0) | 2016.06.15 |
---|---|
[MySQL]5.6.31 source 설치 (2) (0) | 2016.06.14 |
[MySQL] Federated Engine (Table) (2) - 마무리 (0) | 2016.06.09 |
[MySQL] Federated Engine (Table) (1) | 2016.06.09 |
[펌] [MySQL] Oracle의 그룹별 번호 매기기와 같은 기능 구현하기 (0) | 2016.06.07 |