티스토리 뷰

DATABASE/Mysql&MariaDB

mysql-5.0.45 설치

Mr.Kang 2008. 7. 26. 13:50
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.45.tar.gz
# cd mysql-5.0.45
# CFLAGS="-static -O2 -march=i686 -funroll-loops"
# CXXFLAGS="-static -O2 -march=i686 -funroll-loops -felide-constructors -fno-rtti"
# ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --enable-assembler --disable-shared --with-thread-safe-client --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --without-debug --without-docs --without-bench --with-charset=utf8 --with-readline
# make && make install

3. DB 생성
# /usr/local/mysql/bin/mysql_install_db
# 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 &

접속 확인
# /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 &

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          | 5                                      |
+--------------------------+----------------------------------------+

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

 

'DATABASE > Mysql&MariaDB' 카테고리의 다른 글

Myslq 함수 정리  (0) 2018.09.17
MySQL의 Binary Logs-로그보기, 로그삭제  (0) 2018.03.06
mysql 자동증가 초기화  (0) 2009.02.18
우편번호 csv를 MySQL로 변환 적용  (0) 2009.02.18
MYSQL 권한/계정생성  (0) 2008.07.26
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함