문제 발생 ] 현재 나의 시스템에서 mysql의 데이타 디렉토리(/usr/local/mysql/var) 가 속한 파티션이 100%찼다. 그래서 mysql 데이타가 쌓이는 위치를 바꾸어야한다.[ 해결 방법 ] 1. 여유공간이있는 파티션에 심볼릭 링크걸기 2. 여유공간이있는 파티션으로 mysql 데이타 저장 위치를 지정하기 3. 새로운 하드디스크를 추가하여 추가된 공간을 mysql/var 디렉토리로 마운트하기 여기에서는 2번 내용에있는 방법을 설명하도록 하겠습니다.[ 해결 하기 ] [root@soma]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda8 2.0G 77M 1.8G 4% / /dev/sda1 49M 1.9M 45M 4% /boot /dev/sda5 2.9G 6.1M 2.7G 1% /home /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 디렉토리로 옮기기
덧글 : CentOS 는 /var/lib/mysql/ 임.
[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
-rw------- 1 root root 8192 Oct 15 17:16 aquota.user
drwxr-xr-x 2 root root 16384 Sep 10 18:15 lost+found
drwx------ 2 mysql mysql 4096 Sep 12 20:14 mysql
drwxr-xr-x 5 root root 4096 Oct 15 17:17 new_var -> 여기 보세요
-rw------- 1 root root 16064 Sep 13 09:42 quota.user
drwxr-xr-x 10 root root 4096 Sep 10 11:08 rrdtool
drwxr-xr-x 6 soma soma 4096 Oct 10 18:18 soma
[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 데몬을 실행할때 경로명을 지정하는것을 잊으버리면 문제가 발생할수도 있기 때문이죠.
무슨 문제냐하면 데이타가 쌓이는 위치가 바뀌게 되므로 큰 문제가 아닐수가 없겠죠..
하지만 어디까지나 하나의 방법을 설명하기위한 내용이므로 참고로 알고계시면 문제가 없을것
같습니다.
이상입니다.