MySQL의 error_log 소개

一个新手
풀어 주다: 2017-09-08 10:09:10
원래의
1696명이 탐색했습니다.


MySQL 로그 유형 소개

MySQL 로그는 크게 오류 로그(error_log), 쿼리 로그(query_log), 바이너리 로그(binary_log)의 세 가지 유형으로 나눌 수 있습니다.

  • 쿼리 로그(query log): 일반 쿼리 로그는 일반 쿼리 로그(일반 쿼리 로그)와 느린 쿼리 로그(느린 쿼리 로그)의 두 가지 유형으로 나눌 수 있으며, 그 중 일반 쿼리 로그는 각 클라이언트가 연결할 때 관련 정보를 제공하는 데 사용할 수 있으며 SQL 느린 쿼리 로그에는 SQL 문 시간이 미리 설정된 long_query_time을 초과하는 문이 기록됩니다. 데이터 양이 많을 경우 느린 쿼리 로그에서 어떤 문을 최적화해야 하는지 확인할 수 있습니다.

  • 바이너리 로그(binary_log): 간단히 말해서, 바이너리 로그는 MySQL 업데이트 작업을 기록합니다. 바이너리 로그에는 모든 업데이트가 포함되므로 데이터베이스를 최대한 데이터베이스 오류 지점으로 복원하는 것이 주요 목적입니다. 백업 후.

세 가지 유형의 로그는 서로 다른 기능을 갖고 있으며 서로 다른 구성 방법이 필요합니다. 여기에서는 먼저 일반적인 오류 로그의 구성 방법에 대해 설명하고 나머지 두 가지 로그는 나중에 추가할 예정입니다.

error_log

Oracle의 경고와 마찬가지로 MySQL의 오류 로그는 오류 정보를 기록하는 데 사용되지만 오류는 오류 정보뿐만 아니라 서비스 프로세스에 대한 오류 정보도 기록됩니다. mysqld 프로세스는 일부 테이블을 자동으로 확인하거나 복구해야 함을 발견하면 관련 정보를 로그에 표시합니다.

구성 방법

1. 구성 파일 /etc/my.cnf를 찾습니다. 찾을 수 없으면 find / -type f -name 'my.cnf' 전역 검색을 수행합니다. 그게 다입니다/etc/my.cnf,如果找不到find / -type f -name 'my.cnf'全局查找即可

2、将错误日志参数写入配置文件

[mysqld_safe]log-error=/var/lib/mysql/mysql.err
로그인 후 복사

3、另一种方法
MySQL在命令行启动时,可以添加日志的加载参数--log-output,其中--log-output还有三种可选参数来制定日志文件输出方式:
- TABLE:将日志记录至数据库表中
- FILE:将日志记录在文件中
- NONE:不记录

举例

  • 启用错误日志,并记录日志文件到数据库表和日志文件中: <br/>--log-output=TABLE,FILE --error_log

  • 启用慢查询日志和普通查询日志,并将它们的日志记录在表中:--log-output=TABLE --general_log --slow_query_log

  • 启用慢查询日志,记录到日志文件中,并制定输出路径:--log-output=FILE --slow_query_log --slow_query_log_file=/var/lib/mysql/- mysql_slow.log

    2. 구성 파일에 오류 로그 매개변수를 기록합니다
  • mysql> show variables like &#39;log_error&#39;;
    +---------------+---------------------+| Variable_name | Value               |
    +---------------+---------------------+| log_error     | /var/log/mysqld.log |
    +---------------+---------------------+1 row in set (0.00 sec)
    
    [root@localhost mysql]# tailf /var/log/mysqld.log
    2017-08-07T12:32:54.258884Z 0 [Note] IPv6 is available.
    2017-08-07T12:32:54.258892Z 0 [Note]   - &#39;::&#39; resolves to &#39;::&#39;;
    2017-08-07T12:32:54.258908Z 0 [Note] Server socket created on IP: &#39;::&#39;.
    2017-08-07T12:32:54.259622Z 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
    2017-08-07T12:32:54.260814Z 0 [Note] InnoDB: Buffer pool(s) load completed at 170807  8:32:54
    2017-08-07T12:32:54.266749Z 0 [Note] /usr/sbin/mysqld: ready for connections.
    Version: &#39;5.7.19&#39;  socket: &#39;/var/lib/mysql/mysql.sock&#39;  port: 3306  MySQL Community Server (GPL)
    2017-08-07T12:32:54.266772Z 0 [Note] Executing &#39;SELECT * FROM INFORMATION_SCHEMA.TABLES;&#39; to get a list of tables using the deprecated partition engine. You may use the startup option &#39;--disable-partition-engine-check&#39; to skip this check. 
    2017-08-07T12:32:54.266774Z 0 [Note] Beginning of list of non-natively partitioned tables
    2017-08-07T12:32:54.318211Z 0 [Note] End of list of non-natively partitioned tables
    로그인 후 복사
    3. 또 다른 방법

    MySQL이 명령줄에서 시작되면 로그 로딩 매개변수 --log-output를 추가할 수 있습니다. > 그 중 --log-output에는 로그 파일 출력 방법을 지정하는 세 가지 선택적 매개 변수도 있습니다.

    - TABLE: 데이터베이스 테이블에 로그를 기록합니다. 🎜- FILE: 로그 파일에 로그를 기록합니다. file 🎜- NONE: 기록 안 함🎜🎜Example🎜🎜🎜🎜오류 로그를 활성화하고 로그 파일을 데이터베이스 테이블 및 로그 파일에 기록합니다: 🎜--log-output=TABLE,FILE --error_log🎜 🎜🎜🎜 느린 쿼리 로그와 일반 쿼리 로그를 활성화하고 해당 로그를 테이블에 기록합니다: --log-output=TABLE --general_log --slow_query_log🎜🎜🎜🎜느린 쿼리 로그 활성화, 기록 파일을 로그하고 출력 경로를 지정합니다: --log-output=FILE --slow_query_log --slow_query_log_file=/var/lib/mysql/- mysql_slow.log🎜🎜🎜🎜설정이 성공적으로 완료되면, 보기 입력: 🎜rrreee

    위 내용은 MySQL의 error_log 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿