MySQL

MySQL 데이타 디렉토리 옮기기

RYU™ 2011. 4. 26. 18:38
반응형
MySQL 데이타 디렉토리 옮기기

[ 문제 발생 ]
현재 나의 시스템에서 mysql의 데이타 디렉토리(/usr/local/mysql/var) 가 속한 파티션이 100%찼다.
그래서 mysql 데이타가 쌓이는 위치를 바꾸어야한다.



[ 해결 방법 ]
1. 여유공간이있는 파티션에 심볼릭 링크걸기
2. 여유공간이있는 파티션으로 mysql 데이타 저장 위치를 지정하기
3. 새로운 하드디스크를 추가하여 추가된 공간을 mysql/var 디렉토리로 마운트하기


여기에서는 2번 내용에있는 방법을 설명하도록 하겠습니다.


[ 해결 하기 ]

[root@soma]# df -h
.
.
/dev/sda6             2.9G  2.9G     0 100% /usr   -> full
.
.

위에서 보는것처럼 /usr 파티션이 100% 이기 때문에 더이상 이 파티션에는 데이타를 저장 할수 없게 되었다.
/usr 파티션이 full 나게되면 apache 역시 문제가 발생하게된다.

여기서는 다른 서비스에는 관심을 가지지 않겠습니다.
mysql 에 대한 내용만 설명하도록 하겠습니다.
여기서는 /home 파티션으로 mysql 데이타 디렉토리를 변경하도록 하겠습니다.


1. /home 디렉토리 안에 new_var 란 디렉토리 만들기

[root@soma]# cd /home
[root@soma home]# mkdir new_var

2. mysql 데몬죽이기 - 더이상의 정보변화를 없애기 위해서

[root@soma]# killall mysqld
[root@soma]# 021015 17:12:55  mysqld ended

3. /usr/local/mysql/var 에있든 모든 파일을 /home/new_var 디렉토리로 옮기기

[root@soma]# cd /usr/local/mysql/var
[root@soma var]# tar -cvzpf /home/new_var/mysql.tar.gz *
[root@soma]# cd /home/new_var
[root@soma new_var]# ls
[root@soma new_var]# mysql.tar.gz

4. 압축풀기

[root@soma new_var]# tar -xvzpf mysql.tar.gz

5. 그룹 & 소유자 & 퍼미션 바꾸기 - new_var

[root@soma new_var]# cd /home
[root@soma home]# ls
.
.
drwxr-xr-x    5 root     root         4096 Oct 15 17:17 new_var  -> 여기 보세요
.
.
.

 

[root@soma home]# chown -R mysql.mysql ./new_var

new_var 디렉토리 및 그 이하의 모든 파일 및 디렉토리의 소유자/그룹을 mysql 로변경

[root@soma home]# chmod 700 ./new_var

new_var 디렉토리를 700 으로 변경


6. mysql 데몬 실행하기

[root@soma home]# /usr/local/mysql/bin/safe_mysqld --datadir=/home/new_var &

7. 부팅시 mysql 데몬 자동으로 실행하기

[root@soma home]# vi /etc/rc.d/rc.local
/usr/local/mysql/bin/safe_mysqld --datadir=/home/new_var &  -> 추가

8. 확인하기
데이타베이스를 새로 생성하거나 테이블을 만들거나 하면 /home/new_var 디렉토리로 쌓이는것을 확인할 수 있다.

위의 내용은 어떻게 보면 심볼릭 링크를 사용하는 것이나 다를봐가 없다고 볼수도 있습니다.
어떻게 보면 더 불편할수도 있구요.
왜냐면 mysql 데몬을 실행할때 경로명을 지정하는것을 잊으버리면 문제가 발생할수도 있기 때문이죠.
무슨 문제냐 하면 데이타가 쌓이는 위치가 바뀌게 되므로 큰 문제가 아닐수가 없겠죠..

하지만 어디까지나 하나의 방법을 설명하기 위한 내용이므로 참고로 알고계시면 문제가 없을 것 같습니다.

이상입니다.

반응형