MySQL 에서 흔히 볼 수 있 는 로그 모음

선언:
MySQL 시스템 에는 다양한 종류의 로그 가 있 습 니 다.각종 로 그 는 모두 자신의 용도 가 있 습 니 다.로 그 를 분석 함으로써 우 리 는 데이터 베이스 성능 을 최적화 시 키 고 고장 을 제거 하 며 심지어 데 이 터 를 복원 할 수 있 습 니 다.이러한 서로 다른 유형의 로 그 는 우리 가 데이터 베 이 스 를 더욱 명확 하 게 이해 하 는 데 도움 이 되 고 일상적인 학습 과 운영 과정 에서 도 이 로그 들 과 접촉 할 수 있다.이 절 은 MySQL 데이터베이스 에서 자주 사용 되 는 로그 의 역할 과 관리 방법 을 알 아 볼 것 입 니 다.
1.오류 로그(errorlog)
오류 로 그 는 my sqld 시작 과 정지,그리고 서버 가 실행 하 는 과정 에서 발생 하 는 오류 와 경고 에 관 한 정 보 를 기록 하고 있 습 니 다.데이터베이스 가 예상 치 못 하 게 지연 되 거나 다른 오류 가 발생 했 을 때,우 리 는 오류 로 그 를 찾 아야 한다.
log_error 매개 변 수 는 오류 로그 가 파일 과 파일 이름 을 쓸 지 여 부 를 제어 합 니 다.기본적으로 오류 로 그 는 터미널 표준 출력 stderr 에 기 록 됩 니 다.물론 지정 log 를 추천 합 니 다.error 매개 변수,오류 로그 파일 위치 와 이름 을 사용자 정의 합 니 다.

#            
vim /etc/my.cnf 
[mysqld] 
log_error = /data/mysql/logs/error.log

        :
log_error={1 | 0 | /PATH/TO/ERROR_LOG_FILENAME}
        。            ,      。

2.느 린 조회 로그(slow query log)
느 린 조회 로 그 는 실행 시간 이 log 를 초과 하 는 것 을 기록 하 는 데 사 용 됩 니 다.query_time 이 변 수 를 정의 하 는 긴 검색 어 입 니 다.느 린 조회 로 그 를 통 해 어떤 조회 문장의 집행 효율 이 매우 낮은 지 찾 아 최적화 할 수 있다.
느 린 조회 와 관련 된 몇 가지 매개 변 수 는 다음 과 같다.
  • slow_query_log:느 린 조회 로 그 를 사용 할 지 여부 입 니 다.기본 값 은 0,1 로 설정 할 수 있 습 니 다
  • slow_query_log_file:느 린 조회 로그 위치 와 이름 을 지정 합 니 다.기본 값 은 host 입 니 다.name-slow.log,절대 경 로 를 지정 할 수 있 습 니 다
  • long_query_time:느 린 조회 실행 시간 한도 값,이 시간 을 초과 하면 기록 합 니 다.기본 값 은 10 이 고 단 위 는 s 입 니 다
  • log_output:로그 출력 목 표를 천천히 조회 합 니 다.기본 값 은 file 입 니 다.즉,파일 로 출력 합 니 다.
  • 기본 적 인 상황 에서 느 린 조회 로 그 는 열 리 지 않 습 니 다.일반적인 상황 에서 열 리 는 것 을 권장 하고 느 린 SQL 최적화 에 편리 합 니 다.설정 파일 에 다음 인 자 를 추가 할 수 있 습 니 다:
    
    #          ,         
    vim /etc/my.cnf 
    [mysqld] 
    slow_query_log = 1
    slow_query_log_file = /data/mysql/logs/slow.log
    long_query_time = 3
    log_output = FILE
    
    3.일반 조회 로그(일반 로그)
    일반 조회 로 그 는 유 니 버 설 조회 로그 라 고도 부 릅 니 다.MySQL 에 가장 상세 한 로 그 를 기록 합 니 다.이 로 그 는 my sqld 의 모든 작업 을 기록 합 니 다.clients 연결 이나 연결 이 끊 겼 을 때 서버 는 이 로 그 를 기록 하고 clients 에서 받 은 모든 SQL 문 구 를 기록 합 니 다.client 의 오 류 를 의심 하고 client 가 my sqld 에 보 낸 내용 을 정확히 알 고 싶 을 때 유 니 버 설 조회 로 그 는 매우 유용 합 니 다.
    기본 적 인 상황 에서 genel log 는 닫 혀 있 습 니 다.유 니 버 설 조회 로 그 를 열 면 디스크 I/O 가 많이 증가 하기 때문에 디 버 깅 오류 가 아 닌 경우 유 니 버 설 조회 로 그 를 여 는 것 을 권장 하지 않 습 니 다.관련 매개 변수 설정 은 다음 과 같 습 니 다.
    
    # general log    
    vim /etc/my.cnf 
    [mysqld]
    general_log = 0 //    0,    ,    1
    general_log_file = /data/mysql/logs/general.log //         
    
    4.바 이 너 리 로그(binlog)
    바 이 너 리 로그 에 대해 서 는 앞 에 글 이 소개 되 어 있 습 니 다.데이터베이스 에서 실행 되 는 모든 DDL 과 DML 문 구 를 기록 하고 이벤트 형식 으로 바 이 너 리 파일 에 저장 합 니 다.데이터 복구 와 마스터 복사 에 자주 사 용 됩 니 다.
    binlog 와 관련 된 몇 가지 매개 변 수 는 다음 과 같 습 니 다.
  • log_bin:binlog 가 열 릴 지,파일 이름 을 지정 합 니 다
  • server_id:서버 의 유일한 ID 를 지정 합 니 다.binlog 를 열 려 면 이 인 자 를 설정 해 야 합 니 다
  • binlog_format:binlog 모드 를 지정 합 니 다.ROW 로 설정 하 는 것 을 권장 합 니 다
  • max_binlog_size:단일 바 이 너 리 로그 크기 를 제어 합 니 다.현재 로그 파일 크기 가 이 변 수 를 초과 할 때 전환 동작 을 수행 합 니 다
  • expire_logs_days:바 이 너 리 로그 파일 의 보존 일 수 를 제어 합 니 다.기본 값 은 0 입 니 다.자동 으로 삭제 되 지 않 고 0~99 로 설정 할 수 있 습 니 다.
  • binlog 는 기본적으로 열 리 지 않 지만 일반적인 상황 에서 열 리 는 것 을 권장 합 니 다.특히 동기 화 할 때.
    
    # binlog     
    vim /etc/my.cnf 
    [mysqld]
    server-id = 1003306
    log-bin = /data/mysql/logs/binlog
    binlog_format = row
    expire_logs_days = 15
    
    5.중계 로그(relay log)
    중계 로 그 는 복사 구조 에서 서버 에서 서버 의 slave 프로 세 스 가 메 인 서버 에서 바 이 너 리 로그 의 내용 을 가 져 오고 중계 로 그 를 기록 한 다음 IO 프로 세 스 가 중계 로그 의 문 구 를 읽 고 실행 하 는 데 사 용 됩 니 다.
    relay log 관련 매개 변 수 는 보통 라 이브 러 리 에서 설정 되 고 관련 매개 변 수 는 다음 과 같 습 니 다.
  • relay_log:relay log 의 위치 와 이름 을 정의 합 니 다
  • relay_log_Purge:중계 로그 가 필요 하지 않 습 니 다.기본 값 은 1(사용)입 니 다
  • relay_log_recovery:slave 가 라 이브 러 리 에서 다운 되면 relay log 가 손상 되 어 일부 중계 로그 가 처리 되 지 않 으 면 실행 되 지 않 은 relay log 를 자동 으로 포기 하고 master 에서 로 그 를 다시 가 져 오 면 relay log 의 완전 성 을 확보 합 니 다.기본적으로 이 기능 은 닫 혀 있 습 니 다.relaylog_recovery 의 값 을 1 로 설정 하면 이 기능 을 시작 할 수 있 습 니 다.
  • relay log 기본 위 치 는 데이터 파일 의 디 렉 터 리 에 있 습 니 다.파일 이름 은 host 입 니 다.name-relay-bin,파일 위치 와 이름 을 사용자 정의 할 수 있 습 니 다.
    
    # relay log     ,     
    vim /etc/my.cnf 
    [mysqld]
    relay_log = /data/mysql/logs/relay-bin
    relay_log_purge = 1
    relay_log_recovery = 1
    
    요약:
    이 글 은 MySQL 의 몇 가지 로그 의 용도 와 설정 방법 을 다 루 고 있 습 니 다.주의해 야 할 것 은 상기 몇 가지 로그 입 니 다.절대 경 로 를 지정 하지 않 으 면 기본적으로 데이터 디 렉 터 리 에 저 장 됩 니 다.로그 디 렉 터 리 를 새로 만 들 수도 있 습 니 다.그리고 redo log 와 undo log 는 설명 이 없 으 니 다음 글 에 남 겨 두 세 요.
    MySQL 에서 흔히 볼 수 있 는 몇 가지 로그 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 MySQL 에서 흔히 볼 수 있 는 로그 내용 은 예전 의 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!

    좋은 웹페이지 즐겨찾기