my sql 로그 시스템 의 간단 한 사용 튜 토리 얼
MySQL 은 스웨덴 MySQL AB 사가 개발 한 관계 형 데이터베이스 관리 시스템 으로 Oracle 계열 제품 에 속한다.MySQL 은 가장 유행 하 는 관계 형 데이터베이스 관리 시스템 중 하나 로 WEB 응용 분야 에서 MySQL 은 가장 좋 은 RDBMS(Relational Database Management System,관계 데이터베이스 관리 시스템)응용 소프트웨어 중 하나 이다.
모든 데이터베이스 에 다양한 로그 가 있 고 데이터베이스 작업 의 모든 면 을 기록 하여 데이터베이스 관리자 가 데이터베이스 에서 발생 한 각종 사건 을 추적 하도록 도와 준다.
MySQL 에는 각각 4 가지 다른 로그 가 있 습 니 다.
오류 로그
오류 로 그 는 MySQL 에서 가장 중요 한 로그 중 하나 로 mysqld 가 시작 되 고 정지 되 었 을 때,서버 가 실행 중 심각 한 오류 가 발생 했 을 때의 관련 정 보 를 기록 합 니 다.데이터베이스 에 고장 이 나 서 정상적으로 사용 할 수 없 을 때 이 로 그 를 먼저 볼 수 있 습 니 다.
이 로 그 는 기본적으로 열 려 있 습 니 다.기본 저장 디 렉 터 리 는 my sql 의 데이터 디 렉 터 리(var/lib/my sql)이 고 기본 로그 파일 이름 은 hostname.err(hostname 은 호스트 이름)입 니 다.
1.로그 위치 보기
show variables like 'log_error%';
2.로그 내용 보기
tail -f /var/lib/mysql/xxx.err
2,2 진 로그
바 이 너 리 로그(BINLOG)는 모든 DDL(데이터 정의 언어)문구 와 DML(데이터 조작 언어)문 구 를 기록 하지만 데이터 조회 문 구 는 포함 되 지 않 습 니 다.이 로 그 는 재난 시 데이터 복구 에 매우 중요 한 역할 을 합 니 다.MySQL 의 주종 복 제 는 이 binlog 를 통 해 이 루어 집 니 다.
1、바 이 너 리 로그 열기
바 이 너 리 로 그 는 기본적으로 열 리 지 않 았 습 니 다.MySQL 설정 파일 에서 열 고 MySQL 로그 의 형식 을 설정 해 야 합 니 다.
# binlog , mysqlbin -----> : mysqlbin.000001,mysqlbin.000002
log_bin=mysqlbin
#
binlog_format=STATEMENT
2.바 이 너 리 로그 형식(1)STATEMENT
이 로그 형식 은 로그 파일 에 SQL 문장(statement)을 기록 합 니 다.데 이 터 를 수정 하 는 SQL 은 로그 파일 에 기록 되 어 있 습 니 다.Mysql 에서 제공 하 는 my sqlbinlog 도 구 를 통 해 각 문장의 텍스트 를 뚜렷하게 볼 수 있 습 니 다.마스터 복사 시 라 이브 러 리(slave)에서 로 그 를 원본 으로 해석 하고 라 이브 러 리 에서 다시 실행 합 니 다.
(2)ROW
이 로그 형식 은 로그 파일 에 SQL 문 구 를 기록 하 는 것 이 아니 라 줄 마다 데이터 변경 을 기록 합 니 다.예 를 들 어 SQL 문 구 를 실행 합 니 다:update tb북 set status='1',STATEMENT 로그 형식 이 라면 로그 에 SQL 파일 한 줄 을 기록 합 니 다.ROW 라면 전체 테이블 을 업데이트 하 는 것 이기 때문에 줄 마다 기록 이 변경 되 고,ROW 형식의 로그 에는 줄 마다 데이터 변경 이 기 록 됩 니 다.
(3)MIXED
현재 MySQL 의 기본 로그 형식 인 STATEMENT 와 ROW 두 가지 형식 이 혼 합 된 것 입 니 다.기본 적 인 상황 에서 STATEMENT 를 사용 하지만 일부 특수 한 상황 에서 ROW 를 사용 하여 기록 합 니 다.MIXED 포맷 은 두 가지 패턴 의 장점 을 최대한 활용 해 단점 을 피 할 수 있다.
3.로그 읽 기
로 그 를 바 이 너 리 로 저장 하기 때문에 직접 읽 을 수 없습니다.my sqlbinlog 도구 로 봐 야 합 니 다.문법 은 다음 과 같 습 니 다.
mysqlbinlog log-file;
4.STATEMENT 형식 로그 보기(1)삽입 문 실행
insert into tb_book values(null,'Lucene','2088-05-01','0');
(2)my sql 데이터 파일 디 렉 터 리 에서 바 이 너 리 파일 찾기my sqlbin.index 는 로그 색인 파일 로 로 그 를 기록 하 는 파일 이름 입 니 다.my sql-bin.00001 은 로그 파일 입 니 다.
(3)로그 파일 보기
5.ROW 형식 로그 보기
(1)설정 파일 에서 설정
# binlog , mysqlbin -----> : mysqlbin.000001,mysqlbin.000002
log_bin=mysqlbin
#
binlog_format=ROW
주:설정 파일 을 수정 할 때마다 my sql 서 비 스 를 다시 시작 하 는 것 을 기억 합 니 다.
service mysql restart
(2)데이터 삽입로그 형식 이 ROW 라면 데 이 터 를 직접 볼 때 알 아 볼 수 없습니다.my sqlbinlog 뒤에 인자-vv 사용--no-defaults 인 자 를 추가 하면 문자 집합 에 미 치 는 영향 을 피 할 수 있 습 니 다.
6、
6.로그 삭제
바 쁜 시스템 에 대해 서 는 매일 로 그 를 만 드 는 양 이 많 기 때문에 이 로 그 는 장시간 잘 모 르 면 디스크 공간 을 많이 차지 할 것 입 니 다.로 그 를 삭제 하 는 흔 한 방법 몇 가 지 를 설명 하 겠 습 니 다.
(1)방법 1
Reset Master 명령 을 통 해 모든 binlog 로 그 를 삭제 하고 삭제 한 후 로그 번 호 는 xxxx.000001 에서 다시 시작 합 니 다.
삭제 하기 전에 로그 파일 을 조회 하 십시오:
로그 삭제 명령 실행
Reset Master
다시 한 번 조회 해 보 겠 습 니 다.마지막 으로 남 은 000001 은 빈 프로필 입 니 다.
(2)방법 2
purge master logs to 'mysqlbin.******
이 명령 은******
번호 이전의 모든 로 그 를 삭제 합 니 다.(3)방 법 3
purge master logs vefore 'yyyy-mm-dd hh24:mi:ss'
이 명령 은yyyy-mm-dd hh24:mi:ss
이전에 발생 한 모든 로 그 를 삭제 합 니 다.(4)방법 4
인자
expire_logs_days=#
를 설정 합 니 다.이 매개 변 수 는 로그 의 만 료 일 수 를 설정 하 는 것 입 니 다.지정 한 일수 가 지나 면 로그 가 자동 으로 삭 제 됩 니 다.이렇게 하면 DBA 관리 로그 의 작업량 을 줄 일 수 있 습 니 다.3.조회 로그
조회 로그 에는 클 라 이언 트 의 모든 조작 문 구 를 기록 하고 바 이 너 리 로 그 는 데 이 터 를 조회 하 는 SQL 문 구 를 포함 하지 않 습 니 다.
기본적으로 조회 로 그 는 열 리 지 않 았 습 니 다.조회 로 그 를 열 려 면 다음 설정 을 설정 할 수 있 습 니 다.
# , : 0 1 ; 0 , 1
general_log=1
# , , host_name.log
general_log_file=file_name
1.조회 로그 열기2.1 조 작업 수행
3.조회 로그 보기
4.느 린 조회 로그
느 린 조회 로 그 는 모든 실행 시간 이 인자 log 를 초과 하 는 것 을 기록 합 니 다.query_time 설정 값 및 스 캔 기록 수 는 min 보다 작 지 않 습 니 다.examined_row_limit 의 모든 SQL 문장의 로그 입 니 다.long_query_time 은 기본적으로 10 초,최소 0,정밀 도 는 마이크로 초 까지 가능 합 니 다.
1.파일 위치 와 형식
슬 로 우 조회 로 그 는 기본적으로 닫 혔 습 니 다.느 린 조회 로 그 를 두 개의 매개 변 수 를 통 해 제어 할 수 있 습 니 다.
# , : 1 0 , 1 , 0
slow_query_log=1
#
slow_query_log_file=slow_query.log
# , , , 10s
long_query_time=10
보통 2s 정도 로 설정 하면 됩 니 다.제 실험 에서 느 린 조 회 를 완성 하기 위해 저 는 0.5s 로 설 치 했 습 니 다.
my sql 클 라 이언 트 에서 현재 log 를 조회 할 수 있 습 니 다.query_time
2.조회 작업 수행
(1)조회 하기 전에 느 린 조회 로 그 를 한 번 본다.
(2)비교적 빠 른 조회 동작 을 수행 합 니 다.
(3)느 린 조회 동작 을 수행 합 니 다.
느 린 조회 로그 내용 이 많 으 면 파일 을 직접 보 는 것 이 귀 찮 습 니 다.이 럴 때 my sql 자체 가 가지 고 있 는 my sqldumpslow 도 구 를 통 해 느 린 조회 로 그 를 분류 하여 모 을 수 있 습 니 다.
여 기 는 느 린 조회 기록 만 있 기 때문에 my sqldumpslow 의 역할 을 나타 내지 않 지만 느 린 조회 기록 이 많 으 면 분류 하여 모 을 수 있 습 니 다.
총결산
my sql 로그 시스템 에 대한 간단 한 사용 튜 토리 얼 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 my sql 로그 시스템 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.