컴퓨터 / Computer

슬로우 쿼리 로그 설정

0_fivEmSUN_cafc0046fceae53820e6e11ed19a3a0d3034ec3c.jpg 


로그를 남기지 않으면 시스템이 조금 더 빠르지만 오류가 발생하거나 문제를 해결하려면 로그를 봐야 하기에 로그는 시스템 운영에서 필수 조건이다. 이번 로그는 몇 초 이상 느리게 동작하는 쿼리를 찾아 낼때 사용한다. 


대다수 DBMS는 슬로우 쿼리를 Off로 설정해 두기 때문에 살짝 설정을 통해서 켜야 한다.


1. 설정 여부 확인

mysql 에 접속하여 다름과 같이 쿼리를 날려 본다.


  SHOW VARIABLES LIKE 'slow_query_%';


슬로우 쿼리 로그를 남기도록 해 놨다면 "ON"이 되어 있을 것이다. 하지만 대다수는 OFF값이다.


2. 폴더 및 권한 설정 


 - 보통 로그는 /var/log 폴더에 만들기 때문에 그 아래에 mysql 이나 mariadb 폴더를 하나 생성한다.

 - 그리고 mysql이 쓸 수 있도록 아래와 같이 권한 설정을 해 둔다.

 chown mysql:mysql /var/log/mysql


3. my.cnf 설정

(보통 my.cnf 파일에 가보면 /etc/my.cnf.d/ 폴더 아래로 가라고 한다. 해당 폴더로 가게 되면 server.cnf 파일을 연다)


아래 내용을 넣는다. 


 [mysqld]

slow_query_log = 1

slow_query_log_file = /var/log/mysql/db-slow.log

long_query_time = 5

log_slow_rate_limit = 1

log_slow_verbosity = query_plan

log_slow_admin_statements



이렇게 한 후에 service mysql restart 하면 /var/log/mysql 폴더에 db-slow.log 파일 생성 시작한다.




Comments

공유지기 2018.08.16 16:38
그리고 db 스키마만 다운 받는 법.


mysqldump -u [user] -p -d [db name] > [db name].sql

WL 계기판 차량용 거치대 B형 스마트폰 차량 스파크
칠성상회
포켓몬카드 초전브레이커 1팩
칠성상회
말랑한 비누 말랑이 슬랑이 스퀴시 장난감 피젯토이 (1개)
칠성상회
고광택 포토용지 101.6x152.4mm 잉크젯 사진 인화지 50매
칠성상회