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
24 copy 시 I/O error 발생한 파일을 dd로 복사하기 ischo 2015.07.27 9881
23 RHEL 6.x 에서 multipath 설정 ischo 2015.07.31 27202
22 RHEL/CentOS 7 에서 Network 설정하기 ischo 2015.08.31 17283
21 read/write test of Storage Filesystem ischo 2015.12.16 10195
20 NTP 서버 설정 ischo 2016.03.03 10797
19 RHEL/CentOS 7 환경에서 자동업데이트 disable 시키기 ischo 2016.07.02 10220
18 apache 404 에러에 OS 또는 apache버전을 표시하는 취약점 없애기 ischo 2016.10.25 7710
17 재부팅 없이 SCSI device를 rescan하기 ischo 2017.03.16 16570
16 shell script를 cron으로 동작시킬때 .bashrc .bash_profile의 변수가 적용되지 않는다 ischo 2017.09.08 14793
15 (스크립트) 오라클 DB서버에서 매일 원격지 FTP로 export 파일 업로드 하기 ischo 2017.11.04 4349
14 CIDR Conversion Table ischo 2018.03.08 2982
13 SFTP로 자동 업로드/다운로드 스크립트 ischo 2018.04.04 7394
12 리눅스에서 Windows Filesystem(NTFS) 마운트하기 ischo 2018.12.20 3506
11 CentOS 7에 Apache2, php7.3, MariaDB 설치하기 ischo 2019.09.02 1955
10 Multi Putty Manager file ischo 2020.10.08 914
9 apache log4j 취약점 제거조치 CVE-2021-44228 CVE-2021-45046 CVE-2021-41045 CVE-2021-4104 ischo 2021.12.23 1077
8 [Shell] 시작한지 1시간 이상 경과한 프로세스 kill 하기 ischo 2022.06.16 262
7 파일시스템 사용량 추이를 http 전송으로 DB에 누적하기 file ischo 2022.08.29 772
6 구버전 Linux에서 Rocky Linux 9.1 버전으로 ssh 접속시 "no hostkey alg" 표시후 접속불가 ischo 2023.04.19 1448
5 vi 에디터에서 복사,붙여넣기 하면 # 마크가 자동으로 앞에 붙을때 ischo 2023.04.19 869
서버에 요청 중입니다. 잠시만 기다려 주십시오...