MySQL 데이터베이스가 커지면서 기본 설정된 디렉토리가 위치한 파티션의 빈공간이 모자라게 되는 경우가 종종 있다. 이럴 경우 MySQL의 데이터 저장 위치를 다른 파티션으로 옮겨 문제를 해결할 수 있다.

아래 예를 통해 기존 데이터 디렉토리에서 /mnt 라는 드라이브로 옮겨보도록 하겠다.

1. 데이터를 백업해 둔다!

2. MySQL 서버를 종료한다.
# service mysql stop


3. 새로운 위치에 데이터를 옮겨갈 디렉토리를 하나 만든다.
# mkdir /mnt/mysql_db


4. 새로 만든 디렉토리의 소유권을 부여한다.
# chown myuser.www /mnt/mysql_db


5. MySQL 설정 파일을 수정한다.
# whereis my.cnf
my: /etc/my.cnf

# vi /etc/my.cnf

아래와 같이 "datadir=" 부분의 경로를 바꾸어 주었다.
[mysql]
datadir=/mnt/mysql_db/     # 기존위치=/var/lib/mysql/
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1

[mysql.server]
user=mysql
basedir=/var/lib

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid


6. 기존 디렉토리에 있는 데이터를 새 디렉토리로 가져온다.
# mv /var/lib/mysql/데이터베이스_이름 /mnt/mysql_db/


7. MySQL 시작
# service mysqld start

http://blog.nice2seeyou.com/mike/trackback/218
YOUR COMMENT IS THE CRITICAL SUCCESS FACTOR FOR THE QUALITY OF BLOG POST