[개발] 리눅스

[CentOS] MySQL 소스코드로 설치하기

브랜든정 2011. 9. 22. 19:51
반응형
mysql 소스 컴파일해서 설치하기

CentOS 에는 yum 이라는 강력한 프로그램 설치툴(?)이 있다. mysql 역시 yum 을 이용하면 한방에 설치된다. 그렇지만 역시 리눅스라면 직접 소스코드를 받아서 컴파일을 해보는 맛이 있다. CentOS 설치후 APM 을 설치해보는 연습을 하고 있는데, 그 첫번째 mysql 을 소스코드 컴파일 후 설치/환경 설정 해보자. (CentOS 리눅스 구축관리실무 책 기반)




 그전에 yum 으로 mysql 설치하는 방법, 
yum install -y mysql-server





 mysql 혹은 APM 을 설치하기 전에 먼저 컴파일러가 있는지 확인하자. 
rpm -qa gcc* cpp* compat-gcc* flex*

만약, 해당 컴파일러가 없을 경우 소스를 컴파일할 수 없기때문에 꼭 설치해야 한다.
yum -y install gcc cpp gcc-c++ compat-gcc-32-g77 flex

컴파일러가 설치되었다면 APM에 필요한 라이브러리를 설치하자
필요한 라이브러리: libpng, libjpeg, freetype, gd

해당 라이브러리가 설치되어 있는지 확인,
rpm -qa libpng* libjpeg* freetype* gd-*

라이브러리가 없으면 yum 으로 설치,
yum install -y libjpeg-devel libpng-devel freetype-devel gd-devel




 mysql 소스 컴파일 설치하기, 

1. 우선 mysql 소스버전을 다운로드 받자.
(2011년 9월 22일 현재 최신버전은 5.5.16 임)
http://dev.mysql.com/downloads/mysql/#downloads


download 버튼을 클릭하면, mirroring 사이트가 나오는데 가장 빠를만한 사이트를 선택한 후 직접 download 하거나, 링크주소를 복사해서 wget 으로 받으면 된다.

wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.16.tar.gz/from/http://mirror.khlug.org/mysql/
(putty 를 사용하면 마우스오른쪽 클릭으로 복사해놓은 링크주소를 붙여넣을수 있다.)

2. 압축풀기
다운로드 받은 mysql-5.5.16.tar.gz 파일의 압축을 푼다.
tar -zxvf mysql-5.5.16.tar.gz

3. mysql 계정생성
mysql 을 관리할 계정을 생성한다.
useradd -M -s /bin/false mysql

4. mysql 소스 컴파일
CentOS 리눅스 구축관리 실무 책에서는 바로 ./configure 후 make && make install 로 설치한다. 그런데 아무리 찾아봐도 방금 압축을 푼 폴더안에는 configure 파일이 없다. 만약 configure 파일이 있다면 ./configure 로 Makefile 을 생성해서 컴파일하면 된다.
#./configure \
>--prefix=/usr/local/mysql \
>--with-charset=utf8 \
>--with-extra-charsets=all

#make && make install
정상적으로 설치가 되었다면 /usr/local/mysql 폴더에 디렉토리들이 생길것이다.

그러나 앞서 말했듯이, 방금 압축을 푼 폴더에는 configure 파일이 없다. 대신 CMakeLists.txt 파일이 있다. 그렇다 cmake 로 Makefile 을 만들어서 컴파일 해야 한다.

먼저 cmake 가 설치되어있는지 확인하자.
rpm -qa cmake

cmake 가 없을경우 yum 으로 cmake 를 설치하자. 
yum install -y cmake

cmake 를 설치했으면 압축풀었던 폴더로 이동하자
cd mysql-5.5.16

그리고는 cmake 를 이용해서 Makefile 을 만들자
cmake .

중간에 라이브러리가 없어서 에러가 발생할수도 있는데, 해당 라이브러리 설치 후 다시 진행하면된다.
오류가 발생해서 다시 cmake 할 경우 CMakeCache.txt 파일을 삭제하면 된다.

성공적으로 Makefile 이 만들어지게 되면, make && make install 해서 컴파일/설치하자.
make
make install

*기본적으로 설치하고 나면 /usr/local/mysql 폴더에 설치가 되는데, 어떻게 경로를 바꾸는지는 아직 내공이 부족해서 잘 모름. 혹시 아시는 분들 댓글 좀 달아주세요!!!!

5. 환경설정
mysql 이 제대로 설치되었다고 해서 바로 실행할수 있는게 아니라 몇가지 설정을 해줘야 한다.
cd /usr/local/mysql
chown -R mysql .
chgrp -R mysql .

mysql을 관리할 데이터베이스를 생성한다. 이 데이터베이스는 mysql 의 전반적인 환경을 담고 있기때문에 아주 중요한 데이터베이스이다.
scripts/mysql_install_db --user=mysql
chown -R root .
chown -R mysql data

그리고 mysql 에서 사용할 환경설정파일을 /etc에 복사한다. mysql 은 사용자의 시스템에 맞게 적절한 샘플파일을 support-files 에 제공한다.
my-huge.cnf : 메모리가 1G - 2G 사이일때 사용한다.
my-large.cnf : 메모리가 512M 일때 사용한다.
my-medium.cnf : 메모리가 64 - 256M 사이일때 사용한다.
my-small.cnf : 메모리가 64M 보다 작을때 사용한다.
cp support-files/my-large.cnf /etc/my.cnf

6. 환경변수 등록
mysql 관련 명령어를 편하게 사용할수 있게 /root/.bash_profile 의 PATH 에 mysql 경로를 추가한다.
vi ~/.bash_profile
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin

변경환 환경변수는 다시 로그인할때 적용되지만, source명령어를 사용하면 즉시 적용된다.
source ~/.bash_profile

7. 자동실행 설정
chkconfig 를 이용해 시스템이 재부팅 되어도 자동으로 실행될수 있도록 설정한다. 먼저 mysql 의 실행 스크립트 파일을 /etc/init.d 에 복사하고 chkconfig 명령어를 이용하여 추가해 준다.
cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld

등록이 잘되었는지 확인해보자.
chkconfig --list | grep mysqld

8. root 암호등록 및 테스트
mysql 을 처음 실행하면 root 의 암호를 설정해야 한다. 그전에 먼저 mysql 을 시작하자
/etc/init.d/mysqld start

mysqladmin -u root password 암호

암호 설정후 root 유저로 접속,
mysql -u root -p
Enter password: 

이상 소스코드로 mysql 설치하기가 끝났다. 사실 먼가 꽤 길고 복잡해 보이지만 해보면 아무것도 아니다. 그러나 yum 으로 설치하면 한방에 된다는 거!!!!


이제 아파치와 PHP 설치하러 가자~~
끝!!!



반응형