>데이터 베이스 >MySQL 튜토리얼 >mysql의 로그 파일은 무엇입니까?

mysql의 로그 파일은 무엇입니까?

青灯夜游
青灯夜游원래의
2022-06-13 18:19:054750검색

MySQL에는 네 가지 종류의 로그 파일이 있습니다. 1. 데이터베이스의 다양한 작업을 바이너리 형식으로 기록하지만 쿼리 문은 기록하지 않는 바이너리 로그 파일 2. 주로 데이터베이스의 시작 및 중지 프로세스를 기록하는 오류 로그 파일 서버 내 MySQL 서버 정보, 서버 운영 중에 발생하는 장애 및 이상 상황 등 3. 일반 쿼리 로그 파일, 서버 시작 및 종료 정보 기록, 클라이언트 연결 정보, 업데이트, 쿼리 데이터 기록을 위한 SQL 문, 4. 로그 파일을 느린 쿼리로, 주로 실행 이벤트가 지정된 시간을 초과하는 작업을 기록합니다.

mysql의 로그 파일은 무엇입니까?

이 튜토리얼의 운영 환경: windows7 시스템, mysql8 버전, Dell G3 컴퓨터.

로그는 데이터베이스의 중요한 부분으로 주로 데이터베이스의 실행 상태, 일일 작업 및 오류 정보를 기록하는 데 사용됩니다.

MySQL에서 로그 파일은 바이너리 로그 파일, 오류 로그 파일, 일반 쿼리 로그 파일, 느린 쿼리 로그 파일의 4가지 유형으로 나눌 수 있습니다.

  • 바이너리 로그 파일: 이 로그 파일은 데이터베이스의 다양한 작업을 바이너리 형식으로 기록하지만 쿼리문은 기록하지 않습니다. 주로 데이터베이스의 변경 사항, 즉 SQL 문의 DDL 및 DML 문을 기록하는 데 사용되며 데이터 기록 쿼리 작업은 포함되지 않습니다.

  • 오류 로그 파일: 주로 MySQL 서버의 시작 및 중지 과정에서 발생하는 정보, 서버 작동 중에 발생하는 오류 및 예외 사항 등을 기록합니다.

  • 일반 쿼리 로그 파일: 이 로그에는 MySQL 서버의 시작 및 종료 정보, 클라이언트 연결 정보, 업데이트, 데이터 레코드 쿼리를 위한 SQL 문 등이 기록됩니다.

  • 느린 쿼리 로그 파일: 실행 이벤트가 지정된 시간을 초과하는 작업을 기록합니다. 도구를 사용하여 느린 쿼리 로그를 분석하면 MySQL 서버 성능 병목 현상을 찾을 수 있습니다.

MySQL에서 지원하는 로그 파일 중 바이너리 로그 파일을 제외한 나머지 로그 파일은 텍스트 파일입니다. 기본적으로 MySQL은 오류 로그 파일만 시작하며 다른 로그는 수동으로 시작해야 합니다.

로그를 사용하면 장점과 단점이 있습니다. 로깅이 활성화되면 MySQL 서버의 성능은 유지되지만 MySQL의 실행 속도는 저하됩니다. 예를 들어 쿼리 작업이 빈번하게 발생하는 MySQL에서는 일반 쿼리 로그와 느린 쿼리 로그를 기록하는 데 많은 시간이 소요됩니다.

로그 파일도 하드 드라이브 공간을 많이 차지합니다. 사용자 수가 매우 많고 작업 빈도가 매우 높은 데이터베이스의 경우 로그 파일에 필요한 저장 공간은 데이터베이스 파일에 필요한 것보다 훨씬 더 큽니다. 따라서 로그 활성화 여부와 활성화할 로그 유형은 특정 애플리케이션에 따라 다릅니다.

확장된 지식: MySQL은 바이너리 로그를 사용하여 데이터베이스를 복원합니다.

바이너리 로그는 INSERT 문, UPDATE 문, CREATE 문 등과 같은 데이터베이스 변경에 대한 모든 사용자 작업을 기록합니다. 부적절한 동작이나 기타 이유로 데이터베이스의 데이터가 손실된 경우, 바이너리 로그를 이용하여 일정 기간 동안 사용자의 동작을 확인하고, 데이터베이스 백업과 병행하여 데이터베이스를 복원할 수 있습니다.

다음에서는 바이너리 로그를 이용하여 데이터베이스를 복원하는 방법을 자세히 소개합니다.

실수로 데이터베이스가 손상된 경우, 먼저 최신 백업 파일을 사용하여 데이터베이스를 복원해야 합니다. 또한 백업 후 데이터베이스가 업데이트되었을 수 있으며 바이너리 로그를 사용하여 이를 복원할 수 있습니다. 바이너리 로그에는 UPDATE 문, INSERT 문 등과 같이 데이터베이스를 업데이트하는 문이 저장되기 때문입니다.

바이너리 로그에서 데이터베이스를 복원하는 명령은 다음과 같습니다.

mysqlbinlog filename.number | mysql -u root -p

위 명령은 먼저 mysqlbinlog 명령을 사용하여 filename.number의 내용을 읽은 다음 mysql 명령을 사용하여 내용을 복원하는 것으로 이해될 수 있습니다. 데이터베이스에.

팁: 바이너리 로그를 사용하여 MySQL 데이터베이스를 복원할 수 있지만 디스크 공간도 많이 차지합니다. 따라서 MySQL 데이터베이스를 백업한 후에는 백업 전 바이너리 로그를 삭제해야 한다. 백업 후 예외가 발생하여 데이터베이스 데이터가 손실된 경우, 백업 후 바이너리 로그를 통해 복원할 수 있습니다.

mysqlbinlog 명령을 사용하여 복원 작업을 수행하는 경우 숫자가 작은 것부터 먼저 복원해야 합니다. 예를 들어, mylog.000001은 mylog.000002보다 먼저 복원되어야 합니다.

예제 1

다음은 바이너리 로그를 사용하여 데이터베이스를 복원하는 코드입니다.

mysqlbinlog mylog.000001 | mysql -u root -p
mysqlbinlog mylog.000002 | mysql -u root -p
mysqlbinlog mylog.000003 | mysql -u root -p
mysqlbinlog mylog.000004 | mysql -u root -p

[관련 권장 사항: mysql 비디오 튜토리얼]

위 내용은 mysql의 로그 파일은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.