안녕하세요 IT`s 닝겐입니다.
보고 있는 업무 중 mysql을 접하게 되어.. 설치부터 마이그레션 까지의 과정을 글로 써보고자 합니다.
이번 글 에서는 mysql 5.5 버전 소스 설치 과정을 쓰고자합니다.
많은 분들이 mysql 그냥 yum으로 설치하면 된다고 하시겟지만 5.x 버전 까지는 yum으로 설치가 가능하지만
특정 버전이상부터는 직접 소스설치를 통해서만 설치가 가능합니다.(정확히 몇 버전인지 모름..) 많은 블로그에
소스설치 방법들이 나와 있는데 대부분이 그냥 cat으로 뿌린결과나 스크린샷이 없어 답답함에.. 제가 스샷과 함께
그 설치과정을 실제로 진행해 보고 글을 쓰도록 하겠습니다.
1. 환경구성
- VMware를 이용하여 CentOS 6.2 64bit 를 설치하였습니다.
- H/W : CPU core 1 / Memory 1GB / Disk 15GB * 2EA(sda, sdb) / swap 4GB
- 저는 /dev/sdb가 DB 데이터경로로 사용할 예정이기 때문에 /data 로 mount를 진행했습니다.
- sql설치 버전은 : 5.5.56 입니다. 다운로드는 https://www.mysql.com/ 공식 사이트에서 배포 중입니다.
- CentOS 설치 시 옵션은 Desktop으로 설치 하였습니다.
- 그 외 selinux disable, 방화벽 off 셋팅 했습니다.
2. 다운로드 과정 (별도에 로그인 없이 다운로드가 가능합니다.)
3. 설치과정
- 필요 패키지 파일 설치 : yum 명령으로 필요 패키지 파일을 설치하도록 합니다.
# 명령어 : yum -y install gcc gcc-c++ ncurses ncursrs-devel cmake (오타가 나서 추가 설치 해줬습니다.)
- mysql 그룹 및 계정을 생성하도록 합니다.
# 명령어 : groupadd mysql; useradd -g mysql mysql -M
- 다운로드해서 받은 tar 파일의 압축을 풀어줍니다.
# 명령어 : tar -zxvf mysql-5.5.51.tar.gz
- 압축이 풀리면 해당 디렉토리로 이동 후 cmake / make / make install 명령을 사용하여 설치를 진행하도록 합니다.
# 명령어 : cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DWITH_EXTRA_CHARSETS=all -DMYSQL_DATADIR=/data -DENABLED_LOCAL_INFILE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all
(쭉 이어서 써주시면 됩니다 / -DCMAKE_INSTALL_PREFIX=(엔진설치경로) / -DMYSQL_DATADIR=(DB데이터 경로))
# 명령어 : make
# 명령어 : make install
- 정상적으로 설치가 완료되면 mysql의 전반적인 설정파일을 복사해주도록 합니다
# 명령어 : cd /usr/local/mysql/support-files
cp mysql.server /etc/rc.d/init.d/mysqld
cp cp my-huge.cnf /etc/my.cnf
- 복사된 mysqld 파일 을 vi로 열어 엔진의 위치와 DB data경로를 적어주도록합니다.
# 명령어 : vi /etc/rc.d/init.d/mysql -> basedir=/usr/local/mysql -> datadir=/data
- 여기까지 진행 되었다면 mysql 엔진(프로그램) 설치가 완료 된 것입니다. mysql 엔진과 data가 쌓일경로를 mysql 소유로 변경 해준 뒤 DB를 설치 하도록합니다.
# 명령어 : chown -R mysql:mysql /usr/local/mysql -> chown -R mysql:mysql /data
- 엔진이 설치된 디렉토리로 이동하여(/usr/local/mysql) 명령어를 통해 DB를 설치하도록 하겠습니다.
# 명령어 : ./scripts/mysql_install_db --user=mysql --datadir=/data
- 설치가 완료 되었습니다. mysql을 기동하도록 합니다.
# 명령어 : service mysqld start 또는 /etc/rc.d/init.d/mysqld start
- 정상적으로 서비스가 실행되면, DB root 패스워드를 설정해주도록 합니다.
# 명령어 : ./usr/local/mysql/bin/mysql_secure_installation
명령어 실행시 기존 패스워드를 입력 하라는 메시지가 나타나는대 엔터를 눌러주시면 진행됩니다.
- 접속명령을 통해 정상 구동되는지 확인합니다.
# 명령어 : ./usr/local/mysql/bin/mysql -u root -p
- 링크를 걸어 절대경로가 아닌 명령을 통한 접속이 가능하도록 합니다.
# 명령어 : ln -s /usr/local/mysql/bin/mysql /usr/bin
ln -s /usr/local/mysql/bin/mysqldump /usr/bin
- chkconfig에 mysqld 서비스를 추가하여 부팅시 자동 실행되도록 합니다.
# 명령어 : chkconfig --add mysqld -> chkconfig mysqld on -> chkconfig --list | gerp -i mysqld
이상입니다. mysql의 경우 oracle에 비해 설치가 간편하며, 크게 어려운부분은 없는듯합니다. 물론 설치에 필요한 여러 프로그램은 yum을 통해 설치하였지만, 그래도 oracle설치보단 편한거 같습니다.
실제 구축&구현해본 기술을 상세히 기술하여, IT직군의 여러분들에게 조그만한 보템이 되고자합니다.
'Linux ' 카테고리의 다른 글
Linux LVM 구성하기 #응용편 (0) | 2017.04.20 |
---|---|
Linux LVM 구성하기 #구성편 (0) | 2017.04.18 |