본문 바로가기
Linux

Linux mysql 소스 설치, 컴파일 설치!

by IT`s닝겐 2017. 5. 10.

안녕하세요 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