Recent Posts
Recent Comments
Link
12-04 00:16
Today
Total
관리 메뉴

삶 가운데 남긴 기록 AACII.TISTORY.COM

MySQL ibtmp1 파일 용량, Gerneral_log 파일 용량 본문

DEV&OPS/Database

MySQL ibtmp1 파일 용량, Gerneral_log 파일 용량

ALEPH.GEM 2022. 4. 20. 14:22

리눅스 개발서버에서 MySQL 5.X 사용중에 디스크 용량 부족 메시지가 나오길래 우선 디스크 용량을 조사해 보았습니다.

df -h

과연 루트 파티션의 용량이 꽉차 있었습니다.

그래서... 원인을 찾기 위해 좀더 조사해보았습니다.

du -h

여러분의 실제 경로는 다를 수 있습니다만

/var/lib/mysql/ibtmp1

용량을 잡아먹던 범인은 바로 이 ibtmp1 파일이었습니다.

무한정 커지고 있더군요.

문제 해결은 단순히 MySQL를 재시작하는 것이었습니다.

리눅스 콘솔에서 아래와 같이 재시작 합니다.

systemctl restart mysqld

 

MySQL Temporary Tablespace

사용자가 생성한 임시 테이블들이 shared temporary tablespace 에 생성됩니다.

아무것도 설정하지 않으면 기본적으로 innodb_data_home_dir 경로에 ibtmp1 파일에 생성됩니다.

기본적으로 12M에서 시작하여 계속해서 용량이 늘어납니다.

 

사용량 확인

mysql> SELECT * FROM INFORMATION_SCHEMA.FILES WHERE TABLESPACE_NAME='innodb_temporary';

또는

mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_TEMP_TABLE_INFO;

만약 파일시스템의 temporary file 의 공간이 작다면

/etc/my.cnf 파일의

tmpdir = 여기

여기에 경로를 지정해두면 됩니다.

 

General 로그

general 로그의 기본값은 꺼져있으나 모든 실행 쿼리를 저장하므로 만약 켜져 있다면 용량이 빠르게 늘어나므로 관리가 필요합니다.

 

General로그 파일 위치 확인

mysql> show variables like 'general%';

Gerneral로그 활성화

mysql> set global general_log=ON;

비활성화는 ON대신 OFF를 하면됩니다.

 

mysql 재시작

systemctl restart mysqld

 

 

 

728x90