Maison  >  Article  >  base de données  >  Gestion des logs MySQL (partage de résumé)

Gestion des logs MySQL (partage de résumé)

WBOY
WBOYavant
2022-06-23 12:26:012343parcourir

Cet article vous apporte des connaissances pertinentes sur mysql Il organise principalement les problèmes liés à la gestion des journaux, y compris les journaux d'erreurs, les journaux de requêtes généraux, les journaux binaires, etc. . Tout le monde est utile.

Gestion des logs MySQL (partage de résumé)

Apprentissage recommandé : Tutoriel vidéo mysql

Les journaux MySQL sont enregistrés par défaut dans le répertoire de stockage du fichier de base de données (généralement /usr/local/mysql/data/). Vous pouvez également modifier le fichier de configuration pour personnaliser l'emplacement de stockage des fichiers journaux.

Lors de la compilation et de l'installation, le répertoire de stockage des fichiers de base de données était défini sur /home/mysql.

1. Introduction à quatre types de journaux

1.1 Journal des erreurs

Le journal des erreurs est utilisé pour enregistrer les informations sur les erreurs qui se produisent lorsque MySQL démarre, s'arrête ou s'exécute.

vim /etc/my.cnf

[mysqld]

log-error=/home/mysql/mysql_error.log #Spécifiez l'emplacement de stockage du journal

1.2 Journal des requêtes générales

Journal des requêtes générales, used Enregistre toutes les connexions et instructions MySQL, qui sont fermées par défaut.

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

1.3 Journal binaire

Le journal binaire (binlog) est utilisé pour enregistrer toutes les instructions qui ont des données mises à jour ou des données potentiellement mises à jour. Il enregistre les modifications de données et peut être utilisé pour la récupération de données.

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

1.4 Journal des requêtes lentes

Le journal des requêtes lentes est utilisé pour enregistrer toutes les instructions dont le temps d'exécution dépasse long_query_time secondes. Vous pouvez trouver les instructions de requête qui prennent beaucoup de temps à s'exécuter pour l'optimisation. Il est désactivé par défaut.

 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. Configurez quatre types de logs :

Étape 1 : Modifiez le fichier de configuration /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秒

Étape 2 : Redémarrez le service

systemctl restart mysqld

3 . Demandez si le journal est activé

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. Diviser le journal binaire

Le fichier mysql-bin.index divisera le journal binaire.

Chaque fois que vous redémarrez MySQL ou "videz les journaux" dans la base de données pour actualiser le journal, un nouveau journal binaire sera généré.

Apprentissage recommandé : Tutoriel vidéo MySQL

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer