OS/CentOS

[CentOs] Mysql5.5.9 + Linux(CentOS) 설치

codewar 2011. 3. 5. 03:46


1. Mysql5.5.9 소스 파일 다운로드를 합니다.

- 웹페이지에서 다운로드 링크를 복사하여


2. Mysql 을 서비스할 계정을 생성합니다.(보안을 위해서)

#groupadd mysql
#useradd -g mysql mysql

3. configure 를 진행합니다.

 - 여기서 5.1 때와 5.5.9 가 다른걸 알았는데요...
 ./configure 가 없다는거...5.5.9 부터는 cmake 라는 것을 통해 설치를 진행하게 됩니다.
cmake 를 다운로드 받습니다. ( http://www.cmake.org/ )
압축만 풀면 사용 가능합니다.


그럼 본격적으로 cmake 를 통해 설치 옵션을 부여해서 해볼까요?

#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DMYSQL_DATADIR=/usr/local/mysql/data  -DENABLED_LOCAL_INFILE=1 DWITH_INNOBASE_STORAGE_ENGINE=1 . 

- 전 오래전부터 EUCKR을 사용하여 왔고 해당 DB의 호환성을 위해 
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=euckr -DDEFAULT_COLLATION=euckr_korean_ci -DWITH_EXTRA_CHARSETS=all -DMYSQL_DATADIR=/usr/local/mysql/data  -DENABLED_LOCAL_INFILE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.socket

를 사용했습니다

이후 make all , make install 을 해줘야 합니다.


( cmake 설치 옵션 메뉴얼 : 
http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html#cmake-general-options )


이렇게 해서 설치를 하다보면 필요한 라이브러리가 필요하다며 중간에 실패가 떨어지기도 합니다.
그러면 해당 라이브러리를 설치 해주시면 됩니다. 설치방법은~~


#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

6. mysql 설치 디렉토리에 대한 mysql 권한 부여
#chown -R mysql:mysql /usr/local/mysql

7. 기본 DB 생성

설치 디렉토리로 이동하여서 실행하여야 합니다.(저는 /usr/local/mysql )
#./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data


8. mysql 설정 파일 복사

#cp support-files/my-medium.cnf  /etc/my.cnf
또는
#cp support-files/my-medium.cnf my.cnf

저는 /usr/local/mysql 설치 디렉토리에 위치 시켰는데 mysql 를 여러개 설치할 경우에 
각 mysql에 대한 설정값을 사용하기 위해 mysql설치디렉토리에 위치 시켰습니다.


다음으로 MySQL 서버와 프로그램을 연결해줄 소켓을 링크파일로 생성하야 한다.
ln -s /var/lib/mysql/mysql.sock /usr/local/mysql/mysql.socket
(여기 블러그 보시고 Apache 와 PHP 설정하실분 해당)

9. 서버 부팅시 mysql 실행을 위한 서비스 등록

#cp support-files/mysql.server /etc/init.d/mysqld
(기존에 mysqld 파일이 있을경우 해당서버에 설치된 mysql 이 있다는 뜻으므로, 이전 설치된 mysql을 사용하지 않을경우 overwite해도 무관)

10. mysql 실행시 생성되는 pid 파일이 /var/run/mysqld 에 생성됩니다.
이것때문에 mysql 이 뜨지 않아 로그파일을 보고 알았습니다.
#mkdir -P /var/run/mysqld   
#chown -R mysql:mysql /var/run/mysqld
(기존 mysql 이 설치되었을 경우 해당 디렉토리가 존재할 가능성이 높음. 존재하면 Step 10은 Skip)

11. 외부에서 mysql 에 대한 접근을 위해 서비스 포트를 오픈해야합니다.( 3306 포트 )
/etc/sysconfig/iptables 파일에
 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
 추가 후
#/etc/rc.d/init.d/iptables restart 로 갱신된 정보를 다시 서비스함.

12. Mysql 실행

#cd /usr/local/mysql/bin
#mysqld_safe --datadir=/usr/local/mysql/data &

이전버젼으로의 호환성을 위해 old-password 를 붙여줌
#/usr/local/mysql/bin/mysqld_safe --user=mysql --language=korean --old-passwords &

13. Mysql Root 비밀번호 생성

#mysqladmin -uroot password 신규비밀번호

14. Mysql 접속

#mysql -uroot -p
Mysql>


15. 재부팅시 자동 실행

마지막으로 부팅시 자동실행을 하도록 만드는 방법은 "/etc/rc.local"파일 재일 마지막 부분에 "/usr/local/mysql/bin/mysqld_safe --user=mysql --language=korean --old-passwords & "

을 추가하도록 한다.

그럼 모든 설치가 끝납니다~ ^^