Mysql 기록하기 sql log record log 기록 > Mysql 정보

본문 바로가기

검색취소

Mysql 기록하기 sql log record log 기록

검색 이전 다음 목록

본문

5.11.3. 일반 쿼리 로그

일반 쿼리 로그는 mysqld 일반적인 실행 결과를 기록한 것이다서버는 클라이언트가 접속을하거나 또는 접속을 끊을  정보를  로그에 기록하고클라이언트에서 받는  SQL 명령문을여기에 기록한다일반 쿼리 로그는 클라이언트에서 에러를 의심할 경우  클라이언트가mysqld 보내는 것이 무엇인지를 정확히 알고 싶을  매우 유용하게 사용된다.

mysqld 명령문을 실행된 순서가 아닌 받는 순서대로 쿼리 로그에 기록한다이러한 기록 순서는 바이너리 로그와는 반대가 되는데바이너리 로그에서는 명령문이 실행되고 잠금이 해지되기바로 전에 기록된다. (또한쿼리 로그는 모든 명령문을 기록하는 반면에바이너리 로그는 데이터를 선택하기만 하는 명령문은 기록하지 않는다.)

MySQL 5.1.6 버전 이후부터일반 쿼리 로그를 활성화 시키기 위해서는 mysqld --log[=file_name] 또는 -l [file_name] 옵션과 함께 시작을 해야 하고로그 결과를 기록할 장소를 지정하기 위한 --log-output 선택적으로 사용할  있게 되었다. 5.1.6 이전 버전의 경우일반 쿼리로그는 항상 파일에 기록이 되었다일반 쿼리 로그 파일을 활성화 시키기 위해서는--log[=file_name] 또는 -l [file_name] 옵션을 사용한다.

--log 또는 -l용으로 아무런 file_name 값을 지정하지 않는다면디폴트 이름은 데이터 디렉토리에있는 host_name.log 된다파일 이름은 지정하였지만 정확한 경로를 지정하지 않는 경우에는,서버가 데이터 디렉토리에 파일을 저장한다.

MySQL 5.1.12 이후부터는--log 또는 ?l 지정하면--general-log 옵션을 사용해서 초기 일반 쿼리 로그 상태를 지정할  있게 되었다옵션 인수를 지정하지 않거나 또는 0으로 지정하면로그를 비활성화 시키게 된다옵션을 생략하거나 또는 1 설정하면로그를 활성화 시키게 된다.  --log 또는 ?l 지정되지 않으면--general-log 적용되지 않는다.

글로벌 시스템 변수인 general_log  general_log_file 일반 쿼리 로그의 런타임을 제어한다.general_log 0 (OFF)으로 설정하면 로그가 비활성화되고, 1 (또는 ON)으로 설정하면 로그가 활성화 된다general_log_file 로그 파일 이름을 지정하는데 사용된다로그 파일이 이미 오픈되어 있다면 로그 파일은 닫히고 새로운 파일이 오픈된다.

일반 쿼리 로그가 활성화되면로그 결과는 --log-output 옵션 또는 log_output 시스템 변수가 지정한 장소에 기록이 된다기록 장소를 NONE으로 지정하면일반 로그가 활성화 되었다고 하더라도아무런 결과도 기록되지 않는다는 점을 알아두기 바란다로그 결과 기록 장소 값에 FILE 들어있지 않다면로그 파일 이름을 설정해도 결과를 기록할  없게 된다.

서버  시작  로그 플러싱을 하더라도 새로운 일반 쿼리 로그 파일이 만들어지는 것은 아니다. (비록 플러싱이 로그 파일을 닫고 다시 열기는 하지만). 유닉스 시스템의 경우에는 아래의 명령어를 사용해서  파일을  명명하고 새로운 로그 파일을 만든다:

 

shell> mv host_name.log host_name-old.log

shell> mysqladmin flush-logs

shell> cp host_name-old.log backup-directory

shell> rm host_name-old.log

 

윈도우 시스템의 경우서버가 로그 파일을 열고 있는 동안에는 파일 이름을 바꿀  없다우선 서버를 멈추고 파일 이름을 바꾼 다음에서버가  로그 파일을 생성하도록 서버를 다시 시작한다.

MySQL 5.1.12 버전부터는 런타임 시에 일반 쿼리 로그를 비활성화 시킬  있게 되었다:

 

SET GLOBAL general_log = 'OFF';

 

로그를 비활성화 시킨 후에로그 파일 이름을 명확하게 바꾼다그런 다음에로그를 다시 활성화시킨다:

등록된 댓글이 없습니다.

검색취소

Mysql 정보

검색
  • no image
  • [MySQL] ARCHIVE 엔진 및 INNODB 테이블 압축

    MySQL (혹은 MariaDB도 동일)에는 기본적으로 다양한 테이블 엔진이 있습니다.최근에 필요에 따라 ARCHIVE 엔진을 사용해 볼 기회가 있었습니다.이 엔진은 로그 저장과 같이 계속해서 Append 되기만 하…

  • no image
  • [펌] MySQL 운영하면서 겪은 문제점과 해법들

     MySQL 운영하면서 겪은 문제점과 해법들지난 2년간 번개장터 서비스를 운영하면서 MySQL 을 사용하였는데 여러가지 한계에 부딛히면서 전문 업체에게 컨설팅을 받아서 시행착오를 줄이는게 낫겠다는 생각을 했습니다. …

  • LIKE vs INSTR() vs BINARY LIKE  속도 비교
  • LIKE vs INSTR() vs BINARY LIKE 속도 비교

    [MYSQL] LIKE vs INSTR()0. 배경1. 영문 검색어 테스트  1-1. 앞 부분 검색  1-2. 중간 부분 검색  1-3. 끝 부분 검색2. 한글 검색어 테스트  2-1. 앞 부분 검색  2-2. 중간…

  • no image
  • [DBMS] MySQL 의 InnoDB 엔진 의 특성

    다들 한번씩은 들어봄직한 InnoDB 엔진에는 개발시 매우 중요한 부분을 차지할 수도 있을 만한 특성이 있습니다. 이 특성 3가지를 언급해 보고자 합니다. 행여 InnoDB 를 사용하여 개발하시는 분들은 참고하시길 …

  • no image
  • 로그활용4 - slow query log

    로그활용4 - slow query logslow-query-log(--slow-query-log)처리에 시간이 걸린 쿼리를 기록하기 위한 옵션이다.쿼리 실행에 long_query_time에 세팅된 초수(표준 10초)…

  • no image
  • Mysql 기록하기 sql log record log 기록

    5.11.3. 일반 쿼리 로그일반 쿼리 로그는 mysqld의 일반적인 실행 결과를 기록한 것이다. 서버는 클라이언트가 접속을하거나 또는 접속을 끊을 때 정보를 이 로그에 기록하고, 클라이언트에서 받는 각 SQL 명령…

?>