Centos 6.7에서 MySQL 5.5.27 버전 소스로부터 설치하는 과정을 기록했다.
우선 MySQL Community Server (Archived Versions) 페이지에서 5.5.27 파일을 내려받고, 설치하려는 서버에 올린다.
필요한 패키지 설치하기:
yum install -y cmake ncurses-devel
사전 작업:
# 사용자, 그룹 추가
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
MySQL 빌드, 설치하기:
이미 다른 버전의 MySQL이 있는 상태라서 경로를 따로 지정해서 설치했다.
# 압축 풀고 빌드 디렉터리 생성
tar xvzf mysql-5.5.27
cd mysql-5.5.27
mkdir bld
cd bld
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.5.27 ..
make
make install
설치 후 작업:
# 설치된 디렉터리로 이동
cd /usr/local/mysql-5.5.27
# 권한 조정
chown -R mysql .
chgrp -R mysql .
# 설정 디렉터리 생성, 파일 복사
mkdir etc
cp ./support-files/my-medium.cnf ./etc/my.cnf
# 데이터 초기화
scripts/mysql_install_db --user=mysql --basedir=. --datadir=./data
설정 파일 수정:
vi etc/my.cnf
my.cnf:
이미 MySQL이 설치되어 있어서 포트를 33067로 지정했다.
socket = /usr/local/mysql-5.5.27/tmp/mysql.sock
port = 33067
datadir=/usr/local/mysql-5.5.27/data
MySQL 데몬 실행:
이렇게 시작할 수도 있고, 뒤에서 다루는 서비스 스크립트로 만들 수도 있다.
./bin/mysqld_safe --defaults-file=./etc/my.cnf
루트 비밀번호 지정:
./bin/mysqladmin -u root -P 33067 password 'new password'
서비스 스크립트 수정:
# mysql.server 파일 init.d 디렉터리로 복사 후 수정
cp ./support-files/mysql.server /etc/init.d/mysqld5527
vi /etc/init.d/mysqld5527
기본 서비스 스크립트 파일은 디렉터리 설정이 약간 달라서 수정이 필요하다. 다음 네 부분을 찾아서 수정한다. (앞 단어로 검색, basedir, datadir, lock_file_path, mysqld_safe)
basedir=/usr/local/mysql-5.5.27
datadir=/usr/local/mysql-5.5.27/data
lock_file_path="$lockdir/mysql5527"
$bindir/mysqld_safe --defaults-file="$basedir/etc/my.cnf" --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null 2>&1 &
데몬을 시작한다.
service mysqld5527 start
이제 33067 포트를 사용해서 MySQL을 사용할 수 있다.