Gooday Note Scrap Source Android login
 
작성일 : 11-07-06 16:49
[MySql] MySql 쿼리 디버깅을 위한 방법 - MySql 로그
 글쓴이 : 기리 (123.♡.195.24)
조회 : 4,725  
   http://toriworks.tistory.com/entry/MySql-%EC%BF%BC%EB%A6%AC-%EB%94%94%… [838]
PHP를 이용하여 웹 어플리케이션을 작성 할 때 난감한 이슈 중의 하나는 Database query를 찍어보는 것이다.

echo나 print로 로그를 찍게 되면, 화면에 직접 출력되기 때문에 만약 운영중인 웹 어플리케이션이라면 화면 가득 쏟아져 나온 쿼리를 보게 될 것이다.

syslog를 이용하여 쿼리를 시스템 로그 파일에 기록하는 방법도 있겠지만(MySql 쿼리 디버깅을 위한 방법 - syslog 참고), 보다 근본적으로 해결하는 방법이 있다면 그 방법을 써야겠다.

MySql 로그 설정으로 보다 다양하게 찍기

MySql을 설치하면 일반적으로 로그에 대한 설정은 따로 해주지 않는다. 이 때문에 로그를 syslog로 찍어야 하는 방법 밖에 없는, 또는 echo 정도로 로그를 찍어주는 것만 하고 있을지도 모른다.

MySql 설치시에 로그에 대한 설정을 자동으로 해준다면, 더할나위 없겠지만 아쉽게도 수동으로 주석을 풀어줘야 한다.

(순서)
1. /etc/my.cnf 파일을 연다.
2. 로그와 관련된 설정을 심어준다.
3. 저장 후에 MySql을 재시동 한다.

3번 항목 재시동이라는 부분이 마음에 걸리지만, 그래도 한번 적용으로 두고두고 득(得)이 된다.
설정법은 아래와 같다.

# 바이너리 로그 설정
    log-bin = bin_logs
# 쿼리 로그 설정
    log = query_logs
# 에러 로그 설정
    log-error = err_logs
# 느린 쿼리(slow query) 설정
    log-slow-queries = slow_logs
# Update 쿼리 설정
    log-update = update_logs

5가지의 로그 설정을 해 주면, 각 상황에 맞게 tail -f 파일명 을 이용하여 콘솔로 찍기만 하면 된다.
위에 설정에서 bin_logs, query_logs, err_logs, slow_logs, update_logs는 임의로 지정한 명칭이다. 상황에 맞게 적어주면 된다.

이렇게 지정된 로그의 위치는 mysql/data 폴더 안에 생성된다.
이 위치에서 보면 위에서 설정한 이름으로 파일들이 생성되었음을 확인 할 수 있다.

기리 11-07-06 17:29
 123.♡.195.24  
[mysqld_safe]
log-error=/usr/local/mysql/var/mysqld.log
pid-file=/usr/local/mysql/var/mysqld.pid

[mysqld]
# 바이너리 로그 설정
log-bin =/usr/local/mysql/log/bin_logs.log
# 쿼리 로그 설정
log =/usr/local/mysql/log/query_logs.log
# 에러 로그 설정
log-error =/usr/local/mysql/log/err_logs.log
# 느린 쿼리(slow query) 설정
log-slow-queries =/usr/local/mysql/log/slow_logs.log
# Update 쿼리 설정
log-update =/usr/local/mysql/log/update_logs.log
 
 

Total 121
번호 제   목 글쓴이 날짜 조회
61 [Linux] Port 오픈 확인 (1) 기리 10-27 3022
60 [Linux] 현재 접속자수 보기 netstat (1) 기리 10-12 7539
59 [PHP] 파일과 관련된 PHP 함수 정리 기리 10-07 3275
58 [Java] 트레이 아이콘을 구현하기 (1) 최고관… 09-15 4446
57 [Linux] Apache & MySql 재시작 (1) 기리 09-02 2942
56 [Linux] [LINUX] OS버전 및 IP정보 확인 하기 기리 08-08 3544
55 [PHP] Mobile 기기 확인 기리 08-05 2638
54 [Html] HTML table 테두리 기리 08-04 6405
53 [PHP] 파일과 관련된 php함수 기리 08-01 3208
52 [JavaScript] JavaScript 브라우저 체크 (OS 체크는 보너스) 기리 07-22 3393
51 [JavaScript] window.onunload 기리 07-19 3032
50 [Html] iframe 기리 07-18 2186
49 [MySql] 여러 테이블의 최근 게시물 추출 기리 07-11 8159
48 [PHP] PHP 소켓통신 (1) 기리 07-07 3181
47 [MySql] MySql 쿼리 디버깅을 위한 방법 - MySql 로그 (1) 기리 07-06 4726
 1  2  3  4  5  6  7  8  9