DataBase

[MySQL] 리눅스 MySQL 설치

과일가게 개발자 2014. 7. 24. 14:17
반응형

웹 개발자로 일해가면서 db를 설치할 일이 얼마나 자주 있을까?

이참에 문서로만 기록해놨던 설치방법을 블로그에다가 옮겨본다.


OS : CentOS 6.5
DBMS : MySQL 5.1



1. MySQL 다운로드 : http://dev.mysql.com/downloads/mysql/5.1.html#downloads

    * 필자는 SourceCode를 다운받아 컴파일 하여 설치할것이므로
      Generic Linux (Architecture Independent), Compressed TAR Archive 를 다운받음 (mysql-5.1.73.tar.gz)



2. 다운받은 파일을 서버에 업로드 후 해당 파일을 /usr/local/src 로 이동.

    root@web]# mv ./mysql-5.1.73.tar.gz /usr/local/src


3. 압축 해제

    root@web]# cd /usr/local/src
    root@web]# tar zxvf ./mysql-5.1.73.tar.gz


4. mysql 계정생성

    root@web]# groupadd mysql
    root@web]# useradd -g mysql -s /bin/bash -d /home/mysql mysql


5. 컴파일, make, make install

    root@web]# cd /usr/local/src/mysql-5.1.73
    root@web]# ./configure --prefix=/usr/local/mysql --with-charset=utf8 --with-extra-charsets=all --with-mysqld-user=mysql --with-innodb


    * 컴파일 옵션 설명
       --prefix=/usr/local/mysql (install
위치)
       --with-charset=utf8 (기본 캐릭터셋)
       --with-extra-charsets=all
       --with-mysqld-user=mysql (유저명)
       --with-innodb(DB 종류 : 잘 모를땐 트랜잭션 처리를 위한 innodb 추천)


    * 컴파일중 에러가 발생하면 해당 라이브러리가 없는경우가 많음. 필요한 라이브러리 목록은 다음과 같음
       cnurses-devel
       libtermcap-devel
       gcc-c++


     * 라이브러리 설치 확인
    root@web]#  yum list gcc-c++

     * 라이브러리 설치
    root@web]#  yum -y install gcc-c++


    컴파일이 오류없이 정상적으로 되었다면 make, make install 입력.

    root@web]# make
    root@web]# make install



6. DB 초기설정

    root@web]# /usr/local/mysql/bin/mysql_install_db --user=mysql
    root@web]# vi /etc/profile
    * 제일 하단에 다음내용 추가 : export PATH=$PATH:/usr/local/mysql/bin

    root@web]# cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf
    root@web]# chown -R mysql:mysql /usr/local/mysql/data 


7. 서버 부팅시 mysql 자동실행

    root@web]# cp /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/
    root@web]# cp /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysql
    root@web]# chkconfig --level 3 mysql on
    root@web]# chkconfig --level 5 mysql on
    root@web]# chmod 755 /usr/local/mysql


8. DB 시작
    root@web]# /etc/rc.d/init.d/mysql start
   또는

    root@web]# service mysql start

    * 종료는 mysql stop


9. mysql root 패스워드 변경
    root@web]# mysql -p mysql
    Enter password: 그냥 엔터
    > update user set password=password('패스워드') where user='root';
    > flush privileges;
    > quit



끝.


TIP) mysql 은 실행중인데 외부에서 접속이 안된다면 리눅스 방화벽을 의심해 볼 필요가 있다.
iptable 이 실행중이라면 mysql 포트를 허용해 주어야 한다.

    root@web]# vi /etc/sysconfig/iptables


     다음내용 추가

     -A RH-Firewall-1-INPUT –m state –state NEW –m tcp –p tcp –-dport 3306 –j ACCEPT
     -A RH-Firewall-1-INPUT –m state –state NEW –m udp –p udp –-dport 3306 –j ACCEPT
 

   

   iptable 재시작

   root@web]# service iptables restart