mysql 4 버전 설치하기

2010.05.12 04:21

조인상 조회 수:11670

원문 : http://www.ischo.net -- 조인상 // 시스템 엔지니어

Writer : http://www.ischo.net -- ischo // System Engineer in Replubic Of Korea

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

본문 : http://www.ischo.net -- 조인상 //시스템 엔지니어

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

mysql부분입니다..
3. MYSQL 설치

3.1. 개요
중소 규모의 데이터 베이스에서 mysql은 가장 뛰어난 성능을 지니고 있다.
1억 만건의 데이터를 처리 할수 있으며, select에 있어서 가장 빠른 것이 특징이다.
소규 규모 데이터 베이스 처리에 있어서 mysql이 가장 적절하다. APM이라는 것처럼
아파치와 궁합이 잘 맞는다.


3.2. 데이터 베이스 최적화
[참고]
1.http://www.mysql.com/doc/C/o/Compile_and_link_options.html
2.http://www.mysql.com/doc/c/o/configure_options.html
3.http://www.mysql.com/doc/M/y/MySQL_binaries.html
4.http://www.mysql.com/doc/W/h/Which_version.html
5.http://tunelinux.pe.kr/mysql/manual/10.txt
6.http://database.sarang.net/database/mysql/tuning/optimize_mysql.html
7.http://www.phpleader.co.kr/study/studycontent.php?study2_seq=47


3.3. 소스 화일 다운로드
[다운로드]
http://www.mysql.com/downloads/mysql-4.0.html


3.4. 컴파일 하기
#소스를 푼다.
[root@ilinuxbay APM_RERIN]# tar zxvf mysql-4.0.12.tar.gz
[root@ilinuxbay APM_RERIN]# cd mysql-4.0.12
[root@ilinuxbay mysql-4.0.12]#

#쉘을 작성 해서 한번에 mysql을 설치를 한다.
[root@ilinuxbay mysql-4.0.12]# vi pgcc_mysql.sh

############# 쉘로 작성 #############
# !/bin/bash
# mysql 옵션 설정 가능한 한줄로 쓴다 혹. 옵션이 적용 안될수 있음.
./configure --prefix=/usr/local/mysql --with-client-ldflags=-all-static \
--with-mysqld-ldflags=-all-static --with-charset=euc_kr --without-debug \
--enable-assembler --with-mysqld-user=mysql


# 컴파일을 하고 설치를 한다.
make && make install

# 데이터 베이스를 생성한다.
/usr/local/mysql/bin/mysql_install_db

# mysql 그룹과 디렉토리 퍼미션을 설정을 한다.
groupadd mysql
useradd -g mysql mysql
chown -R root /usr/local/mysql
chown -R mysql /usr/local/mysql/var
chgrp -R mysql /usr/local/mysql

# 라이브러들을 등록해준다.
echo /usr/local/mysql/lib/mysql >> /etc/ld.so.conf && ldconfig

# mysqld의 경로를 지정해준다.
echo PATH=$PATH:/usr/local/mysql/bin >> /etc/profile && source /etc/profile

# /usr/local/mysql/share/mysql/mysql.server 파일을 /etc/init.d/mysqld 로 복사한다.
cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysqld

############# 여기까지 쉘로 작성 #############

[root@ilinuxbay mysql-4.0.12]# bash pgcc_mysql.sh # 실행 시킨다.

#쉘이 잘 작동 했는지 확인

#-1 계정
[root@ilinuxbay mysql-4.0.12]# cat /etc/passwd | grep mysql
mysql:x:502:502::/home/mysql:/bin/bash

#-2 데이터 베이스
[root@ilinuxbay mysql-4.0.12]# ls /usr/local/mysql/var/
mysql test

#-3 라이브러리
[root@ilinuxbay mysql-4.0.12]# cat /etc/ld.so.conf | grep mysql
/usr/local/mysql/lib/mysql

#-4 디렉토리 퍼미션
[root@ilinuxbay mysql-4.0.12]# ls -la /usr/local/mysql/
total 48
drwxr-xr-x 12 root mysql 4096 Jul 23 15:14 .
drwxr-xr-x 16 root root 4096 Jul 23 15:14 ..
drwxr-xr-x 2 root mysql 4096 Jul 23 15:14 bin
drwxr-xr-x 3 root mysql 4096 Jul 23 15:14 include
drwxr-xr-x 2 root mysql 4096 Jul 23 15:14 info
drwxr-xr-x 3 root mysql 4096 Jul 23 15:14 lib
drwxr-xr-x 2 root mysql 4096 Jul 23 15:14 libexec
drwxr-xr-x 3 root mysql 4096 Jul 23 15:14 man
drwxr-xr-x 6 root mysql 4096 Jul 23 15:14 mysql-test
drwxr-xr-x 3 root mysql 4096 Jul 23 15:14 share
drwxr-xr-x 7 root mysql 4096 Jul 23 15:14 sql-bench
drwx------ 4 mysql mysql 4096 Jul 23 15:14 var

#mysql 자동화 스크립트 및 부팅시 자동 시작 설정
[root@ilinuxbay support-files]# cd /etc/rc.d/init.d/

# /etc/rc.d/init.d/mysqld 에 내용 추가
==> $bindir/mysqld_safe --datadir=$datadir --pid-file=$pid_file --language=korean &

# /etc/rc.d/init.d/mysqld 에 내용 추가
# max_connections=500 여기서 주의 점은 최대 화일 열수 있는 개수 설정이다.
# 그 메모리나 데이터 베이스 양에 따라서 적절히 조절을 해주어야 한다.

#############################################################################
# $bindir/mysqld_safe \ #
# --log-update=update.log -O max_connections=500 -O max_connect_error=999999999 \ #
# --user=$mysql_daemon_user --datadir=$datadir --pid-file=$pid_file --log=$log_file & #
#############################################################################

#화일을 생성한 후에 퍼미션을 실행 퍼미션으로 조정한다.
[root@ilinuxbay init.d]# chmod +x mysqld

# 설치 후에 시스템에 맞추어서 시스템 최적화 옵션 화일을 /etc/ 로 복사한다.

# 다음은 128메모리를 사용하는 경우이다.

[root@ilinuxbay init.d]# cd /usr/local/src/source/mysql-4.0.12/support-files
[root@ilinuxbay support-files]# cp my-medium.cnf /etc/my.cnf

# 512 M 이면
[root@ilinuxbay support-files]# cp my-large.cnf /etc/my.cnf

# 1G이면
[root@ilinuxbay support-files]# cp my-huge.cnf /etc/my.cnf


# 리부팅후 자동으로 시작할수 있게 초기화 스크립트에 링크를 걸어 준다.
[root@ilinuxbay init.d]# cd /etc/rc3.d/
[root@ilinuxbay rc3.d]# ln -s ../init.d/mysqld S98mysqld
[root@ilinuxbay rc3.d]# cd /etc/rc5.d/
[root@ilinuxbay rc5.d]# ln -s ../init.d/mysqld S98mysqld

#데이터 베이스를 시작한다.
[root@ilinuxbay init.d]# ./mysqld start
[root@ilinuxbay init.d]# Starting mysqld daemon with databases from
/usr/local/mysql/var

# ntsysv에 mysqld를 추가해준다
[root@ilinuxbay init.d]# chkconfig --add mysqld

# mysqld 서비스 데몬 확인
[root@ilinuxbay init.d]# ntsysv

#프로세스를 확인해서 제대로 프로세스가 뜨는지 확인 한다.
[root@ilinuxbay init.d]# pstree | grep mysql
|-mysqld_safe---mysqld---mysqld---8*[mysqld]

#mysql 패스워드 설정
proot@ilinuxbay /bin]# cd /usr/local/mysql/bin
[root@ilinuxbay /bin]# ./mysqladmin -u root password '패스워드'

# Exception : 패스워드 분실시 다음과 같이 한다
[root@ilinuxbay /bin]# cd /usr/local/mysql/bin
[root@ilinuxbay /bin]# killall mysqld
[root@ilinuxbay /bin]# ./safe_mysqld --skip-grant &
[root@ilinuxbay /bin]# mysql
mysql> USE mysql;
mysql> UPDATE user SET Password=PASSWORD('패스워드') WHERE user='root';
mysql> FLUSH PRIVILEGES;
번호 제목 글쓴이 날짜 조회 수
공지 [공지] 게시자료 열람자유. 불펌금지입니다. 조인상 2010.12.07 30767
» mysql 4 버전 설치하기 조인상 2010.05.12 11670
63 파이프를 이용한 tar와 gzip 동시에 처리하기 ischo 2011.05.19 12083
62 시스템 관리자를 위한 50가지 비법 조인상 2011.01.04 12212
61 리눅스에서 2TB 이상의 파티션 만들기 ischo 2011.04.11 12258
60 xinetd 모드로 proftpd 변경 조인상 2010.05.12 12364
59 터미널에서 한글을!! Unicon 소개/설치 조인상 2010.05.12 12369
58 kill 명령어로 줄수 있는 interrupt list ischo 2012.08.17 12529
57 2G이상 파일 tar 로 생성 / 분할생성(복사) 조인상 2010.05.12 12997
56 sendmail 기반의 Squirrelmail (다람쥐메일)설치기법 조인상 2010.05.12 13170
55 case로 만드는 오라클 서비스 관리 ksh 스크립트 예제 ischo 2010.06.18 13494
54 프로세스 생사여부 검사후 메일보내는 쉘스크립트 file ischo 2011.11.10 13552
53 OpenSSL 다중취약점 보안업데이트 [1] ischo 2015.04.02 13659
52 ubuntu 에서 /boot 파일시스템 full 날 경우 이미지 삭제방법 ischo 2014.05.12 14065
51 불특정 파일리스트 FTP 전송 스크립트 file ischo 2011.02.18 14179
50 telnet 으로 메일 보내기 ischo 2011.12.07 14394
49 NFS 관련 명령어 및 파일들 조인상 2010.05.12 14450
48 리눅스환경에서 RedOwl 정지시키기 조인상 2010.05.27 14477
47 복수서버들의 서비스포트 응답여부를 확인하여 메일로 보내주는 스크립트 file ischo 2012.01.17 14656
46 shell script를 cron으로 동작시킬때 .bashrc .bash_profile의 변수가 적용되지 않는다 ischo 2017.09.08 14789
45 백그라운드로 프로세스 실행시키기 ischo 2011.08.25 14814
서버에 요청 중입니다. 잠시만 기다려 주십시오...