MySQL/MariaDB의 로깅
- MySQL/MariaDB에 query를 실행 할 때, connection ID와 실행 된 query 내용 그리고 그 실패/성공 여부를 확인 하고 싶을 때가 있다.
- MySQL/MariaDB 환경에서 디버깅하기 위하여 로그를 남기고 로그를 확인 할 수 있다.
- 기본 전역로그(general_log)가
OFF
되어 있는데, 현재 상태 값을 확인 후 임의의 log 파일로 출력하여 확인이 가능하다.
general_log 설정 및 파일위치 확인
SHOW VARIABLES LIKE 'general%';
SHOW VARIABLES LIKE 'data%';
general_log를 특정 파일 위치로 변경하는 방법
- MySQL/MariaDB 전역 초기 설정은 /etc/my.cnf.d 에서 server.cnf 또는 /etc/my.cnf 에서 설정
- my.cnf를 확인 및 다음과 같이 수정
[mariadb-10.x]
general_log=on
general_log_file=/var/lib/DBlog.log
- 특정 다른 디렉토리로 옮기시에는 소유그룹이 mysql/mariadb에 있지 않으면특정 디렉토리를 접근 못 할수도 있음
- 따라서 특정 디렉토리를 미리 생성하고 소유그룹을 mysql/mariadb에 권한을 넘겨야함
general_log 확인 방법
- 위 general_log 설정 및 파일위치 확인 후, 해당 파일 디렉토리에서
tail
명령어로 Log를 실시간으로 확인
sudo tail -f /var/lib/DBlog.log