>  기사  >  데이터 베이스  >  MySQL 로그 관리(요약 공유)

MySQL 로그 관리(요약 공유)

WBOY
WBOY앞으로
2022-06-23 12:26:012346검색

이 글은 mysql에 대한 관련 지식을 제공합니다. 주로 오류 로그, 일반 쿼리 로그, 바이너리 로그 등 로그 관리와 관련된 문제를 정리하여 여러분에게 도움이 되기를 바랍니다. . 모두가 도움이 됩니다.

MySQL 로그 관리(요약 공유)

추천 학습: mysql 비디오 튜토리얼

MySQL 로그는 기본적으로 데이터베이스 파일의 저장 디렉터리(보통 /usr/local/mysql/data/)에 저장됩니다. 구성 파일을 수정하여 로그 파일의 저장 위치를 ​​사용자 정의할 수도 있습니다.

컴파일해서 설치할 때 데이터베이스 파일 저장 디렉터리는 /home/mysql로 ​​설정되어 있었습니다.

1. 네 가지 로그 유형 소개

1.1 오류 로그

오류 로그는 MySQL이 시작, 중지 또는 실행될 때 발생하는 오류 정보를 기록하는 데 사용됩니다.

vim /etc/my.cnf

[mysqld]

log-error=/home/mysql/mysql_error.log #로그 저장 위치 지정

1.2 일반 쿼리 로그

일반 쿼리 로그, 사용됨 기본적으로 닫혀 있는 모든 MySQL 연결과 명령문을 기록합니다.

vim /etc/my.cnf
 
 [mysqld]
 general_log=ON
 general_log_file=/home/mysql/mysql_general.log

1.3 바이너리 로그

바이너리 로그(binlog)는 업데이트된 데이터 또는 잠재적으로 업데이트된 데이터가 있는 모든 명령문을 기록하는 데 사용되며 데이터 복구에 사용할 수 있습니다.

vim /etc/my.cnf
 
 [mysqld]
 log-bin=mysql-bin      #也可以log_bin=mysql-bin
 #使用相对路径,则文件存储在默认目录/usr/local/mysql/data/中

1.4 느린 쿼리 로그

느린 쿼리 로그는 실행 시간이 long_query_time초를 초과하는 모든 명령문을 기록하는 데 사용됩니다. 최적화를 위해 실행 시간이 오래 걸리는 쿼리 명령문을 확인할 수 있습니다.

 vim /etc/my.cnf
 
 [mysqld]
 slow_query_log=ON
 slow_query_log_file=/home/mysql/mysql_slow_query.log 
 long_query_time=5    #慢查询时间,设置超过5秒执行的语句被记录,缺省时为10秒

2. 네 가지 유형의 로그를 구성합니다.

1단계: /etc/my.cnf 구성 파일 수정

vim /etc/my.cnf
 
 [mysqld]
 ##错误日志,用来记录当MySQL启动、停止或运行时发生的错误信息,默认已开启
 log-error=/home/mysql/mysql_error.log
 
 
 ##通用查询日志,用来记录MySQL的所有连接和语句,默认是关闭的
 general_log=ON
 general_log_file=/home/mysql/mysql_general.log
 
 
 ##二进制日志(binlog),用来记录所有更新了数据或者已经潜在更新了数据的语句,记录了数据的更改,可用于数据恢复,默认已开启
 log-bin=mysql-bin      #也可以log_bin=mysql-bin
 #使用相对路径,则文件存储在默认目录/home/mysql/中
 
 
 ##慢查询日志,用来记录所有执行时间超过long_query_time秒的语句,可以找到哪些查询语句执行时间长,以便于优化,默认是关闭的
 slow_query_log=ON
 slow_query_log_file=/home/mysql/mysql_slow_query.log 
 long_query_time=5    #慢查询时间,设置超过5秒执行的语句被记录,缺省时为10秒

2단계: 서비스 다시 시작

systemctl restart mysqld

3. 로그가 활성화되었는지 쿼리

mysql -u root -p[密码]
 
 #查看错误日志存放位置
 show variables like 'log_error';    
  
 #查看通用查询日志是否开启
 show variables like 'general%'; 
  
 #查看二进制日志是否开启
 show variables like 'log_bin%';     
 
 #查看慢查询日功能是否开启
 show variables like '%slow%';   
 
 #查看慢查询时间设置
 show variables like 'long_query_time';                      
 
 
 #在数据库中设置开启慢查询的方法,即以修改变量值的方式开启。但重启服务后会失效。
 set global slow_query_log=ON;

4. 바이너리 로그 분할

mysql-bin.index 파일이 바이너리 로그를 분할합니다.

mysql을 다시 시작하거나 데이터베이스에서 "로그 플러시"를 수행하여 로그를 새로 고칠 때마다 새로운 바이너리 로그가 생성됩니다.

추천 학습: mysql 비디오 튜토리얼

위 내용은 MySQL 로그 관리(요약 공유)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제