본문 바로가기

프로그래밍/mysql

mySQL v4.1 리눅스에 설치하기

반응형

mySQL v4.1 리눅스에 설치하기  

 
mySQL v4.1 리눅스에 설치 하기

[1] 설치를 위해서 컴파일러가 필요하다 될 수 있으면 최신 버전이 좋다.
간혹 버전이 안 맞는 경우도 있는데 우선 2.95.X 이상이면 된다.
아래는 버전 확인 방법이다.

# gcc -v

굳이 소스 설치를 하는 것은 시스템에 최적화 하여 성능을 높이고자 함이다.

많게는 20%정도 차이가 생긴다.

[2]그룹, 사용자 만들기

# groupadd mysql
# useradd -g mysql mysql

[3] 소스를 다운로드 받는다.
http://www.mysql.com/ 사이트에서 다운로드를 받는다.

[4] 소스 파일 압축 풀기

# tar zxvf mysql-4.*

안 풀리면 다운로드 받은 파일의 압축형태를 다시 확인하고 맞게 풀면됩니다.

리눅스 커맨더 설명이 필요하면 http://www.superuser.co.kr/ 사이트에서 확인하면 됩니다.

[5] 다운로드 받은 파일의 이름으로 생성된 디렉토리에 파일들이 압축이 풀려있을 것입니다.
그럼 /usr/local/mysql 디렉토리를 생성하고 파일들을 이동 시키기 바랍니다.
다른 디렉토리에 만들고 싶은신 분은 /opt 만드셔도 됩니다.

그러나 그것은 권장 사항이 아닙니다.

http://www.pathname.com/fhs/pub/fhs-2.3.html

위에 AddOn 패키지를 설치해도 된다고 하더라도 일반적인 mySQL 설치 경로를
/usr/local/mysql 로 많이 사용하고 있기 때문이다.

[6] 설치 내용을 설정하기
아래의 디렉토리로 경로를 이동한다.

# cd /usr/local/mysql

아래의 내용으로 설정한다.

# ./configure --prefix=/usr/local/mysql --with-charset=euckr --enable-large-files --with-readline --with-extra-charsets=all --with-innodb --disable-shared --with-mysqld-user=mysql --with-unix-socket-path=/var/lib/mysql/mysql.sock --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --without-debug --without-docs

내용인 즉 눈치가 빠른 사람은 이해 하겠지만
--prefix=/usr/local/mysql 설치 장소
--with-mysqld-user=mysql 은 데몬 실행 계정
--without-debug 은 디버거 모드 실행을 안 하겠다는 것이다.
그 밖의 설정 내용도 많다.
--with-openssl SSL 연결을 사용할 경우이다.
--with-low-memory 시스템 메인 메모리가 작은 경우의 실행 형태를 지정한다.
--localstatedir=/opt/sqldata 은 SQL 기본 테이블의 생성 결로를 기본경로에서
/opt/sqldata 로 강제로 변경한 예 입니다.
특정 HDD IO 설정으로 별도의 디렉토리의 설치를 원하시는 경우 사용하시면 됩니다.

mysql 사이트를 많이 참조하기 바란다.

[7] 컴파일하기

# make WITH_LINUXTHREADS=yes WITH_CHARSET=euckr

[8] 설치하기

# make install WITH_LINUXTHREADS=yes WITH_CHARSET=euckr

 

 

 


[9] 사전 테이블과 시스템 테이블 그리고 샘플 테이블 생성하기

# ./scripts/mysql_install_db

위의 명령을 실행하면 /usr/local/mysql/var 디렉토리에 테이블 정보를 생성합니다.

data의 저장공간이 설정된 것입니다.

[10] 디렉토리 소유권 변경하기

chown -R root /usr/local/mysql
chown -R mysql /usr/local/mysql/var
chgrp -R mysql /usr/local/mysql

[11] mySQL 설정파일 만들기

cp support-file/my-huge.cnf /etc/my.cnf

FSSTND 권고 사항을 읽어 보셨으면 알겠지만 리눅스의 모든 설정 파일들은 /etc 디렉토리에 모두 있게 되어있다.

그리고 support-file 디렉토리에 있는 cnf 파일들 중에 각각의 차이가 있습니다.

그의 기준은 메인 메모리의 크기에 따라 다릅니다.

사용 중 인 시스템의 크기에 따라 지정하시기 바랍니다.

my-small.cnf => 64MB ~ 128MB 미만
my-small.cnf => 128MB ~ 512MB 미만
my-large.cnf => 512MB ~ 1GB 이하
my-huge.cnf => 1GBB 이상


[12] mySQL 시험 기동

# pwd
/usr/local/mysql/bin

위의 작업 디렉토리에서 아래의 명령을 실행한다.

./mysqld_safe --user=mysql &

위는 안전모드용 mysql 데몬 입니다.

위의 실행 결과에서 에러가 발생하면 다른 mysql 정상 데몬도 실패하게 됩니다.

/usr/local/mysql/var 디렉토리에 호스트명으로 이루어진 호스트명.err 파일이 생성됩니다.

위 파일의 에러 내용을 확인 하시고 해결하기기 바랍니다.

호스트명을 testserver 로 가정하고 아래의 명령을 실행하면 밑의 결과 값이 나옵니다.

# echo $HOSTNAME
testserver

위의 내용을 기초로 아래의 명령로 에러 파일의 위치를 찾을 수 있습니다.

# find / -name testserver.err

[13] mysql 클라이언트 접속하기

# pwd
/usr/local/mysql/bin

디렉토리 위치에서

# ./mysql

하면 mysql 클라이언트가 실행이 됩니다. 이렇게 하면 클라이언트만 실행된 경우 입니다.

# ./mysql -u root
password:

위는 mysql 서버 계정의 root 계정을 지정한 것입니다.
패스워드 입력을 하셔야 합니다. 현재 패스워드가 없기 때문에 그냥 패스
만약에 안되면 아래의 설명을 따르시면됩니다.

[14] root 패스워드의 지정하기
mysql 서버를 shutdown 합니다.
방법은 [15] 단계를 참고하시길 바랍니다.

Grant[권한]정보 없이 서버를 기동 합니다.

# pwd
/usr/local/mysql/bin

디렉토리 위치에서

# ./mysqld_safe --user=mysql --skip-grant-tables &

mysql 클라이언트 접속을 시도 합니다. 계정은 root 사용 데이터베이스명은 mysql

# ./mysql -u root mysql

mysql> UPDATE user SET password=PASSWORD('dnlwmeoqkr') WHERE user='root';
mysql>flush privileges;
mysql> quit

나오시면 됩니다.

그리고 mysql 서버를 shutdown 후 재 기동하시면 됩니다.


[15] mysql 서버 실행 중지 하기

# pwd
/usr/local/mysql/bin

디렉토리 위치에서

# ./mysqladmin shutdown

입니다.

[16] 서비스로 등록하여 부팅시 자동으로 mysql 서버 시작하기

# pwd
/user/local/mysql/support-files

# cp mysql.server /etc/init.d/

# ln -s /etc/init.d/mysql.server /etc/rc.d/rc3.d/S99mysql
# ln -s /etc/init.d/mysql.server /etc/rc.d/rc0.d/S01mysql

# chmod 755 /etc/rc.d/init.d/mysql.server

[17] 서버의 정상 실행 여부 확인 명령

# mysqladmin ping

이상 생각 나는 대로 기본적인 설치 명령과 관련된 내용을 기술 하였습니다.

 
 

 

반응형