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 이 변 수 를 정의 하 는 긴 검색 어 입 니 다.느 린 조회 로 그 를 통 해 어떤 조회 문장의 집행 효율 이 매우 낮은 지 찾 아 최적화 할 수 있다.
느 린 조회 와 관련 된 몇 가지 매개 변 수 는 다음 과 같다.
# ,
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 와 관련 된 몇 가지 매개 변 수 는 다음 과 같 습 니 다.
# 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 ,
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 에서 흔히 볼 수 있 는 로그 내용 은 예전 의 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
MySQL에서 JSON 인덱싱 - aarondfrancis사람들은 종종 MySQL로 JSON을 인덱싱할 수 없다고 말하지만 완전히 정확하지는 않습니다. MySQL로 JSON 열을 인덱싱하는 것은 완전히 가능합니다! 사람들은 종종 MySQL로 JSON을 인덱싱할 수 없다고 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.