mysql 4 버전 설치하기

2010.05.12 04:21

조인상 조회 수:11671

원문 : 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 30768
44 아파치. 톰캣 연동 (apache+tomcat by mod_jk) ischo 2012.04.18 17336
43 DNS 기초에서 보안까지 조인상 2012.07.26 11423
42 apache log rotate 시키기 ischo 2012.08.14 17151
41 kill 명령어로 줄수 있는 interrupt list ischo 2012.08.17 12530
40 key 저장을 이용하여 ssh,sftp 자동로그인 하기 ischo 2012.10.17 18000
39 쉘스크립트에서 응용가능한 date 포맷 ischo 2012.10.18 15027
38 unzip 으로 압축해제시 하위디렉토리 만들어서 압축풀기 ischo 2012.11.14 16426
37 top을 이용한 성능데이터 로깅 ischo 2013.01.13 17578
36 Linux용 nmon 설치 및 구성 file ischo 2013.01.17 29159
35 다수의 파일에서 ^M 문자를 모두 없애는 쉘스크립트 ischo 2013.05.09 19276
34 리눅스에서 hostid 란? ischo 2013.06.25 29181
33 file descriptor 설정하기 ischo 2013.07.10 24076
32 static routing 정보 저장하여 재부팅시에도 자동 적용 ischo 2013.07.23 25398
31 putty Connection Manager file ischo 2014.02.26 11202
30 ubuntu 에서 /boot 파일시스템 full 날 경우 이미지 삭제방법 ischo 2014.05.12 14070
29 CentOS 6.4 에서 Apache 2.4버전 RPM build 하기 file ischo 2014.07.29 14852
28 CentOS 6.5 환경에서 Multipath 구성하기 - 작성중 secret ischo 2014.08.05 0
27 XDMCP 연결시 필요한 port 번호 ischo 2014.12.24 17579
26 HP DL/ML 시리즈용 SmartArray CLI 유틸리티 사용 설명서 ischo 2015.02.11 10606
25 OpenSSL 다중취약점 보안업데이트 [1] ischo 2015.04.02 13889
서버에 요청 중입니다. 잠시만 기다려 주십시오...