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
이상 생각 나는 대로 기본적인 설치 명령과 관련된 내용을 기술 하였습니다.
'프로그래밍 > mysql' 카테고리의 다른 글
mysql - 실행계획 보기 (0) | 2012.07.19 |
---|---|
mysql - 슬로우쿼리 시간에 따른 검색 (0) | 2012.07.19 |
mysql - 디스크 성능과 MySQL 리플리케이션 (0) | 2012.07.19 |
mysql - 대용량 DB (0) | 2012.07.19 |
mysql - 다른테이블 내용을 참조한 update 처리[join update] (0) | 2012.07.19 |