MySQL log file - General/Slow Query Logs

MySQL log file - General/Slow Query Logs

개요

개발할 때 수 많은 오류를 맞이할 때마다 트러블슈팅을해야한다. 그러기 위해서는 어떤 이유에 의해서 에러가 발생했는지를 알아야하는데, 대부분의 경우에서는 ‘로그’를 확인한다.

이전에는 그런 경우에서 봐야할 주요 로그들에 대해서 정리했고, 간단하게 대응 방법? 까지 얘기했었다. 이번에는 Genernal query log 와 Slow query log에 대해서 알아볼 것이다.

개인적으로는 slow query에 대한 로그를 어떤 경우에 나타나고, 어떻게 보는지 익혀서 회사 업무에 써먹을 수 있기를 바라며…


General Query Log


Slow Query Log

로그 내용을 제타위키에서 가져와봤다.

[root@zetawiki ~]# cat /var/log/mysql/mysql-slow.log

/usr/libexec/mysqld, Version: 5.1.73-log (Source distribution). started with:
Tcp port: 0  Unix socket: /var/lib/mysql/mysql.sock
Time                 Id Command    Argument
# Time: 160102 20:29:51
# User@Host: root[root] @ localhost []
# Query_time: 7.000300  Lock_time: 0.000000 Rows_sent: 1  Rows_examined: 0
SET timestamp=1451734191;
SELECT SLEEP(7);

이렇게 로그를 볼 수 있으나, 내용이 너무 많아서 보기 편하게 하기 위해서는 percona toolkitpt-query-digest 스크립트를 사용한다고 한다. (빈도나 처리 성능별로 쿼리를 정렬해준다고 함)


References

MySQL 8.0 Docs - 5.4.1 Selecting General Query Log and Slow Query Log Output Destinations

Zetawiki - MySQL Slow Query Log

다크쉐라빔의 주절주절 - MySQL Slow Query Log 정보