RadarURL

[Fedora 8] Mysql 5.0.67 설치

by JaeSoo posted Jun 16, 2011
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

mysql-5.0.67 설치

1. mysql 계정/그룹 생성

# useradd -M -s /bin/false mysql
mysql 계정의 홈디렉토리를 만들지 않고 쉘 접속을 허용하지 않도록 생성한다.

2. mysql 설치
다운로드한 mysql-5.0.45.tar.gz 파일을 /usr/local/src로 이동 후 압축을 풀고 설치한다.
# cd /usr/local/src
# tar zxvf mysql-5.0.67.tar.gz
# cd mysql-5.0.67
# CFLAGS="-03 -mpentiumpro" CXX=gcc CXXFLAGS="-03 -mpentiumpro -felide-constructors -fno-exceptions -fno-rtti"
./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --enable-assembler --disable-shared --with-extra-charsets=complex --enable-thread-safe-client --with-mysqld-ldflags=-all-static --without-debug --without-docs --without-bench --with-charset=utf8 --with-collation=utf8_general_ci  --with-readline
# make && make install

Configure Options more..


※ make 도중 오류 발생
"/usr/bin/ld: cannot find -lncurses"
configure option에서 "--with-client-ldflags=-all-static"를 제거하니깐 된다..


3. DB 생성
# /usr/local/mysql/bin/mysql_install_db --user=mysql
# chown -R mysql.mysql /usr/local/mysql

4. mysql 설정파일 복사 (메모리 환경에 따라서 환경설정 파일들을 복사해줍니다.)
my-huge.cnf 1~1G
my-large.cnf 512M
my-medium.cnf 128M~256M
my-small.cnf 64M 이하
위와같이 나와있지만 위 설정은 DB서버 전용으로 했을 때 설정입니다. 기본적으로 my-medium.cnf를 복사한 다음 시스템 환경에 맞게 설정해서 사용하면 됩니다.
# cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf

mysql 설정파일 수정(선택사항임)
# vi /etc/my.cnf
웹서버와 DB가 같은 서버에서 동작한다면 굳이 mysql을 실행하면서 외부의 접속을 Listen할 3306포트는 필요하지 않을 것이다. 아래 옵션을 활성화하여 유닉스 자체소켓을 이용하도록 하면 DB에 대한 침해를 어느정도 사전방지할 수 있다.
skip-networking       <-- 주석제거 (외부접속 차단)

5. mysqld 데몬 실행
# /usr/local/mysql/bin/mysqld_safe --user=mysql  &

접속 확인
# /usr/local/mysql/bin/mysql

6. root 비밀번호 설정/확인
# /usr/local/mysql/bin/mysqladmin -u root password '비밀번호'
# /usr/local/mysql/bin/mysql -u root -p mysql
Enter password: 비밀번호

7. mysql 라이브러리 등록
# vi /etc/ld.so.conf
/usr/local/mysql/lib/mysql
# ldconfig

8. mysql 데몬 부팅시 실행등록

- 단독 데몬 실행시
# vi /etc/rc.d/rc.local
/usr/local/mysql/bin/mysqld_safe --user=mysql &

- init 프로세스에 데몬 등록
# cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysqld
# chkconfig mysqld on

9. 어느 위치에 있든 mysql 명령어를 사용할 수 있도록 링크
# ln -s /usr/local/mysql/bin/mysql /usr/bin

10. utf8 언어셋 설정 확인
mysql> show variables like 'c%';
+--------------------------+----------------------------------------+
| Variable_name            | Value                                  |
+--------------------------+----------------------------------------+
| character_set_client     | utf8                                   |
| character_set_connection | utf8                                   |
| character_set_database   | utf8                                   |
| character_set_filesystem | binary                                 |
| character_set_results    | utf8                                   |
| character_set_server     | utf8                                   |
| character_set_system     | utf8                                   |
| character_sets_dir       | /usr/local/mysql/share/mysql/charsets/ |
| collation_connection     | utf8_general_ci                        |
| collation_database       | utf8_general_ci                        |
| collation_server         | utf8_general_ci                        |
| completion_type          | 0                                      |
| concurrent_insert        | 1                                      |
| connect_timeout          | 10                                     |
+--------------------------+----------------------------------------+
14 rows in set (0.00 sec)

utf8 언어셋 수동설정
위와같이 utf8 언어셋으로 설정되지 않았거나 euckr이나 다른 언어셋에서 utf8로 설정할 때는 아래와 같이 my.cnf 환경설정 파일을 수정하시면 됩니다.
# vi /etc/my.cnf
[client]
default-character-set=utf8
[mysqld]
init_connect=SET collation_connection = utf8_general_ci
init_connect=SET NAMES utf8
default-character-set=utf8

character-set-server=utf8
collation-server=utf8_general_ci
[mysql]
default-character-set=utf8

 

출처 : http://planactor.tistory.com/82