Binary Log - 테이블 생성 및 데이터 변경과 같은 변경 사항을 기록(SELECT 쿼리는 남기지 않음)
Relay Log - 복제 구성 시 마스터의 변경 사항을 기록
Slow Log - long_query_time 파라미터로 설정된 시간보다 수행시간이 긴 쿼리를 기록
DDL Log - DDL문의 실행을 기록
이 중 General Log, Slow Log, Binary Log가 가장 많이 사용됩니다. 이번에는 General Log와 Slow Log에 대해 알아보겠습니다.
로그 저장 위치
기본적으로 활성화된 로그는 data 디렉토리 내에 기록됩니다. 또한 로그 플러시를 통해 로그 파일을 통해 메모리에 있는 데이터를 디스크로 동기화할 수 있습니다. 로그 플러시의 경우 다양한 문제를 유발할 수 있기에 주의해서 사용해야합니다. RDS나 IDC의 경우 data 디렉토리에서 확인이 가능하며 Aurora의 경우 Serverless 이기에 직접적으로 디렉토리에 접근은 불가합니다. (/rdsdbdata/log/ 디렉토리에 쌓이는 것으로 보임)
General Log, Slow Log 설정
log_output
쿼리가 어떤 방식으로 쌓일지 설정하는 파라미터입니다. General Log, Slow Log는 Table 혹은 File 방식으로 쌓이게됩니다. 5.7 버전은 File이 기본값으로 설정되어있으며 File 로 생성하였을 경우 데이터 추출 및 이동이 편리합니다. Aurora MySQL의 경우에는 CloudWatch에서 로그를 확인하려면 File로 구성되어야만 합니다. 터미널로 접근이 불가하기 때문에 Cloud Watch의 로그 탭에서 파일로 추출이 가능합니다.