innodb를 이용하다보면 데이터 저장공간에 ibdata파일이 많이 쌓이게 되면서 디렉토리 공간을 잡아먹게된다.
해당 파일은 db데이터와 연관이 있기 때문에 바로 삭제를 하면안된다.
삭제를 하는방법은 아래와 같다.
- 일단 mysql 덤프를 하여 데이터를 저장한다.
mysqldump -u root -p –all-databases > all_databases.sql - 백업이 끝났다면 mysql 구동을 중지시킨다.
/etc/init.d/mysqld stop - 구동을 중지하였다면 문제되는 ibdata 파일을 삭제한다.
rm -rf ibdata (ibdata 파일명칭) - 삭제를 하였다면 /etc/my.cnf 파일을 통해 ibdata 설정을 해준다.
innodb_data_home_dir=/usr/local/mysql/data
ibdata 파일을 저장할 경로를 지정한다.
innodb_data_file_path=ibdata1:2048M;ibdata2:2048M;ibdata3:2048M;ibdata4:2048M:autoextend
ibdata 파일이 어떤식으로 분할하여 용량까지 할당해준다. - 위와같이 설정을 하였다면 이제 mysql 구동을 해준다.
/etc/init.d/mysqld start - 구동을 하였다면 처음 백업했던 자료로 다시 데이터를 복구해준다.
mysql -u root -p < all_databases.sql
위와같이 작업을 하여 ibdata 파일을 지워준다.