삶 가운데 남긴 기록 AACII.TISTORY.COM
MySQL ibtmp1 파일 용량, Gerneral_log 파일 용량 본문
리눅스 개발서버에서 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
'DEV&OPS > Database' 카테고리의 다른 글
ORA-28001 오라클 비밀번호 만료 (0) | 2022.07.15 |
---|---|
MySQL 테이블 복사 (구조 및 데이터) (0) | 2022.05.13 |
관계형 데이터베이스를 정규화해봅시다. (0) | 2022.02.25 |
MYSQL 날짜 비교 (0) | 2021.10.07 |
MySQL 권한 부여/회수 (0) | 2021.08.26 |