MySQL 5.5.x을 소스 컴파일 하는 방법입니다. mysql 사용자와 그룹 추가는 유명한 리눅스 배포판에 기본적으로 생성 되어 있으므로 생략하겠습니다.
– MySQL 다운로드 및 설치
[root@yongbok ~]# cd /usr/local/src
[root@yongbok /usr/local/src]# wget http://mirror.facebook.net/mysql/Downloads/MySQL-5.5/mysql-5.5.25a.tar.gz
[root@yongbok /usr/local/src]# tar xzvf mysql-5.5.25a.tar.gz
[root@yongbok /usr/local/src]# cd mysql-5.5.25.a
– 설치
MySQL 5.5.x 버전부터는 configure가 아닌 cmake로 설치를 진행합니다. cmake는 크로스 플랫폼을 지원하도록 제작된 컴파일 툴입니다.
cmake의 compiler flags는 아래 링크에서 확인 하실수 있습니다.
[root@yongbok /usr/local/src/mysql-5.5.25a]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.5.25a \
-DSYSCONFDIR=/etc \
-DMYSQL_TCP_PORT=3306 \
-DDEFAULT_CHARSET=utf8 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EXTRA_CHARSETS=all \
-DDEFAULT_COLLATION=utf8_general_ci \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DMYSQL_DATADIR=/usr/local/mysql-5.5.25a/db
[root@yongbok /usr/local/src/mysql-5.5.25a]# make && make install
설치에 사용된 몇가지 주요 옵션은 아래와 같습니다.
CMAKE_INSTALL_PREFIX=[mysql 설치될 경로]
SYSCONFDIR=[설정 파일 my.cnf 파일이 있을 경로]
DEFAULT_CHARSET=[기본 언어셋 지정]
MYSQL_TCP_PORT=[mysql 포트 설정]
MYSQL_UNIX_ADDR=[unix domain socket으로 사용할 경로 지정]
MYSQL_DATADIR=[Database가 설치될 경로]
– 설정파일 및 경로 설정
[root@yongbok /usr/local/src/mysql-5.5.25a]# cp support-files/my-huge.cnf /etc/my.cnf
[root@yongbok /usr/local/src/mysql-5.5.25a]# cp support-files/mysql.server /etc/init.d/mysqld
[root@yongbok /usr/local/src/mysql-5.5.25a]# cd ~
[root@yongbok ~]# nano /etc/init.d/mysqld
basedir=/usr/local/mysql-5.5.25a
datadir=/usr/local/mysql-5.5.25a/db
– 권한 설정 및 데이터베이스 설치
[root@yongbok ~]# chmod +x /etc/init.d/mysqld
[root@yongbok ~]# chown -R mysql:mysql /usr/local/mysql-5.5.25a
[root@yongbok ~]# /usr/local/mysql-5.5.25a/script/mysql_install_db –user=mysql –basedir=/usr/local/mysql-5.5.25a –datadir=/usr/local/mysql-5.5.25a/db
– mysqld 시작
[root@yongbok ~]# /etc/init.d/mysqld start
– root password 설정
[root@yongbok ~]# /usr/local/server/mysql/bin/mysqladmin -u root password “New_Password”
– mysql 심볼릭 링크 생성
[root@yongbok ~]# ln -s /usr/local/mysql-5.5.25a/bin/mysql /usr/local/sbin/mysql
[root@yongbok ~]# ln -s /usr/local/mysql-5.5.25a/bin/mysqlshow /usr/local/sbin/mysqlshow
[root@yongbok ~]# ln -s /usr/local/mysql-5.5.25a/bin/mysqldump /usr/local/sbin/mysqldump
[root@yongbok ~]# ln -s /usr/local/mysql-5.5.25a/bin/mysqladmin /usr/local/sbin/mysqladmin
Thank you for your time and trouble. 😀