HOME > 이용안내
이용안내
 
작성일 : 20-12-20 00:11
[DB] mysql 로그 최적화 하기
 글쓴이 : 제이네트워크
조회 : 18,040  

[Mysql 로그 최적화 하기]


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. 현재의 하드디스크 용량 상태를 확인합니다.

# 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/data


데이터베이스 공간이 85%나 사용되어  언제 디스크가 full 될지 모릅니다.


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


# ls mysql-bin.*
mysql-bin.000001  mysql-bin.000002  mysql-bin.000003 ......  mysql-bin.0000060
파일이 엄청나게 많이 있습니다.


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


mysql -e "PURGE MASTER LOGS BEFORE DATE_SUB(CURRENT_DATE, INTERVAL 30 DAY)"
물론 mysql에 접속하셔서 위의 명령어를 입력하셔도 됩니다. Super권한을 가진 root계정으로 실행해 주세요.


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


# ls mysql-bin.*
mysql-bin.000050  mysql-bin.000051  m51ysql-bin.000052 ......  mysql-bin.000060
50번 이전의 파일들이 모두 삭제 되었습니다. 50번 부터가 최근 30일 이내의 로그정보가 남아있는것 같습니다.


5. 하드디스크 용량 상태를 확인해 봅시다.
# 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/data


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






Cloud server Streaming service Domain Cloud Firewall

 
 

Total 377

번호 제   목   글쓴이 날짜 조회
17 [메일] [Sendmail 포트변경] Sendmail에서 smtp 포트를 587포트로 변경하기 제이네트워크 2020-12-20 21152
16 [메일] [Sendmail 스팸 IP ADDRESS 체크] 제이네트워크 2020-12-20 20864
15 [리눅스서버] 리눅스서버에서 아파치웹 서버 / php 버전 노출방지 제이네트워크 2021-07-19 20025
14 [리눅스서버] Centos7 에서 SQLSRV / PDO_SQLSRV 모듈 추가 설치 제이네트워크 2021-08-26 19115
13 [메일] 리눅스 쉘에서 telnet으로 메일발송테스트 하기 제이네트워크 2021-05-27 18932
12 [기타] ESXi 호스트의 root 로 접근이 불가능한 이슈 제이네트워크 2021-04-08 18854
11 [리눅스서버] Centos7 SFTP 설정 및 Chroot 처리 방법 제이네트워크 2021-08-18 18689
10 [DB] mysql 로그 최적화 하기 제이네트워크 2020-12-20 18041
9 [DB] [mysql 디비체크] myisamchk 사용 옵션 제이네트워크 2020-12-20 18016
8 [리눅스서버] 아파치 웹서버에서 mod_rewrite 모듈 추가 설치하기 제이네트워크 2021-11-03 17813
7 [리눅스서버] 우분투서버 apt 에러 - 미러사이트 변경 제이네트워크 2021-12-29 17198
6 [PHP] php에서 shmop 모듈 추가 설치하기 제이네트워크 2021-05-27 15782
5 [PHP] php_ftp 추가 모듈 설치 하기 제이네트워크 2021-05-27 14199
4 [DB] mysql에서 innodb 설치 및 옵션 설명 제이네트워크 2023-01-14 7462
3 [DB] [MySQL] mysql error 1364 Field doesn't have a default values 해결방법 입니다. 제이네트워크 2023-01-14 7289
2 [DB] phpmyadmin에서 'mcrypt 확장모듈을 불러올 수 없습니다' 에러 시 제이네트워크 2023-01-14 7274
1 [DB] Linux에서 MYSQL 데이터 디렉토리 변경하기 제이네트워크 2023-01-14 7234
 1  2  3  4  5  6  7  8  9  10