HOME > 이용안내
이용안내
 
작성일 : 11-05-17 00:17
[DB] mysql 로그파일 줄이기
 글쓴이 : 관리자
조회 : 30,079  
 
MySQL에서 사용하는 log-bin이라는 옵션은 사용된 쿼리들이 로깅되는 파일이며 Innodb 혹은 Replication등에서 사용되곤 합니다.

하지만 이 파일의 문제는 무한정 늘어난다는 것입니다. relay-log-space-limit 같은 옵션이 있지만 이 옵션은 Replication에서 사용되는 relay-log-bin의 용량을 제한 하는 옵션이지 해결책이 되지 못합니다.

하지만 이 파일을 정리하는 방법이 있습니다. 우선 다음의 Query를 사용하는 것입니다.

PURGE MASTER LOGS BEFORE DATE_SUB(CURRENT_DATE, INTERVAL 30 DAY)

INTERVAL에서는 원하시는 로깅 시점을 기록하시면 됩니다. 위의 경우에는 30일 이전의 로깅 정보를 삭제하게 됩니다.

차례차례 해보도록 하겠습니다.

1. 현재의 하드디스크 용량 상태를 확인합니다.

[root@Theeye db]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1              18G  1.9G   15G  12% /
/dev/sda3              15G  803M   13G   6% /home
/dev/sda2              97G   78G   15G  85% /usr/local/mysql/db

데이터베이스 공간이 85%나 사용되어 곧 꽉찰지도 모른다는 불안감에 휩싸이게 되었습니다.

2. log-bin 파일을 확인해 봅시다.

[root@Theeye db]# ls mysql-bin.*
mysql-bin.000001  mysql-bin.000002  mysql-bin.000003 ......  mysql-bin.000073

파일이 엄청나게 많이 있습니다.

3. 다음 명령어를 수행합니다.

mysql -e "PURGE MASTER LOGS BEFORE DATE_SUB(CURRENT_DATE, INTERVAL 30 DAY)"

물론 mysql에 접속하셔서 위의 명령어를 입력하셔도 됩니다. Super권한을 가진 root계정으로 실행해 주세요.

4. log-bin 파일이 줄었나 확인해 봅시다.

[root@Theeye db]# ls mysql-bin.*
mysql-bin.000041  mysql-bin.000042  mysql-bin.000043 ......  mysql-bin.000073

41번 이전의 파일들이 모두 삭제 되었습니다. 41번 부터가 최근 30일 이내의 로그정보가 남아있는 모양이군요.

5. 하드디스크 용량 상태를 확인해 봅시다.

[root@Theeye db]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1              18G  1.9G   15G  12% /
/dev/sda3              15G  803M   13G   6% /home
/dev/sda2              97G   40G   53G  43% /usr/local/mysql/db

확실히 용량이 많이 확보가 되었군요^^

주기적인 실행이 필요하실 경우에는 위의 명령어를 crontab에 등록하시면 됩니다. 일주일에 한번정도의 실행이 적당하겠네요.





Cloud server Streaming service Domain Cloud Firewall

 
 

Total 59

번호 제   목   글쓴이 날짜 조회
19 [DB] [mysql] mysql에서 (테이블명) is marked as crashed and should be repaired 에러시 관리자 2012-03-23 31800
18 [DB] mysql 설치후 시작에러 발생시 관리자 2011-10-13 33644
17 [DB] mysql 설치시 exec: g++: not found 에러 관리자 2011-10-11 37238
16 [DB] MySQL 설치 에러 : configure: error : No curses/termcap library found 관리자 2011-10-11 32013
15 [DB] mysql 로그를 삭제하여 시작 안될때 관리자 2011-08-16 31603
14 [DB] phpMyAdmin 3.2.5 설치 및 mcrypt 오류 관리자 2011-06-17 34289
13 [DB] Can't find file: './mysql/***.frm' (errno: 13)문제 관리자 2011-06-17 30804
12 [DB] Mssql 시스템 프로지져 삭제 복구 관리자 2011-06-17 29802
11 [DB] 서버이전 - mysql 버전 문제로 인한 암호화 방식 해결 방안 관리자 2011-06-17 28849
10 [DB] mysql 컴파일 시 LinuxThreads not found 발생할 경우 관리자 2011-06-17 29071
9 [DB] MYSQL 자료의 이전과 database dump 관리자 2011-06-17 31129
8 [DB] mysql 로그파일 경로 변경하기 관리자 2011-05-25 32360
7 [DB] mysql 데이타베이스에서 max_connection 늘려주기 관리자 2011-05-17 26507
6 [DB] mysql sleep 프로세서 없애기 관리자 2011-05-17 31177
5 [DB] mysql 패스워드 분실시 재설정 방법 관리자 2011-05-17 28120
4 [DB] mysql 언어셋의 euckr과 utf8 언어셋을 같이 사용하기 관리자 2011-05-17 28866
3 [DB] mysql 로그파일 줄이기 관리자 2011-05-17 30080
2 [DB] mysql 디비생성 스크립트 관리자 2011-05-16 30209
1 [DB] mysql에서 kill process 하기 관리자 2011-05-16 28857
 1  2