본문 바로가기

개발관련/설치・세팅관련

[APM 환경구축#1] centos에 mysql 5.5.13 설치하기

자세히 나와 있는곳이 없어서 너무나 큰 왕삽질을 했다...ㅠㅠ

5.5.x 버전은 cmake라는 걸 이용해서 컴파일을 해야하는데 우선 cmake라는 녀석부터 설치를 해보자.


#CMAKE 설치에 필요한 라이브러리 설치
> yum -y install zlib curl
> yum -y install gcc g++ cpp gcc-c++
> yum -y install openssl openssl-devel
> yum -y install libtermcap-devel ncurses-devel libc-client-devel bzip2-devel
> yum -y install bison

#CMAKE를 받자
>wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz

#압축 풀고 설치
> tar xvfzp cmake-2.8.4.tar.gz
> cd cmake-2.8.4
> mkdir cmake-build
> cd cmake-build
> ../bootstrap
> make all
> make install

cmake 설치끝!

이제 MySQL 5.5.13 버전을 설치해보자!

#컴파일하기 전 필요한 라이브러리 설치
> wget ftp://ftp.pbone.net/mirror/dev.mysql.com/pub/Downloads/MySQL-5.5/MySQL-devel-5.5.13-1.rhel5.i386.rpm
> rpm -Uvh --force --nodeps MySQL-devel-5.5.13-1.rhel5.i386.rpm

#tar 파일 받기
> wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.13.tar.gz/from/http://ftp.iij.ad.jp/pub/db/mysql/

#압축풀기
> tar xvfz mysql-5.5.13.tar.gz
> cd /mysql-5.5.13

#cmake로 컴파일 및 설치
> cmake -DCMAKDE_INSTALL_PREFIX=/usr/local/mysql-5.5.13 \
-DWITH_EXTRA_CHARSETS=all \
-DMYSQL_DATADIR=/data -DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DSYSCONFIGDIR=/etc \
-DEFAULT_CHARSET=utf8 \
-DWITH_EXTRA_CHARSETS=all \
-DMYSQL_TCP_PORT=3306

> make && make install

#mysql 그룹, 계정 만들기
> groupadd mysql
> useradd -g mysql mysql

#권한주기
> chown mysql:mysql /usr/local/mysql
> chown -R mysql:mysql /usr/local/mysql/data
> cd /usr/local/mysql

#설치후 세팅들
>  ./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data
> cp support-files/my-medium.cnf /etc/my.cnf
> cp support-files/mysql.server /etc/init.d/mysqld
>vim /etc/init.d/mysqld   #vim으로 열어서 datadir이라고 되어 있는 부분만 아래와 같이 수정하자
>datadir=/usr/local/mysql/data


#mysql 실행시 아래와 같은 에러가 나는경우
> mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

=> 서비스가 아직 떠있지 않아서 그런것이니 서비스를 실행시켜주자.
> /etc/init.d/mysqld start
혹은
> service mysqld start

잘되는지 테스트해보자. mysql을 치고 mysql 콘솔화면으로 들어간다음
show databases; 라고 쳐보자. ; 세미콜론을 꼭! 쳐주어야함!
아래와 같이 나오면 잘되는 것이다.

> mysql
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)


#유저추가
insert into user(host, user, password) values('localhost', '아이디', password('비밀번호')); 


#DB 권한 추가
 insert into db(Host, Db, User, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv) values('%', '%', '아이디','Y','Y','Y','Y','Y','Y');
GRANT ALL on 데이터베이스.* TO 아이디;