Maison base de données tutoriel mysql MySQL日志文件_MySQL

MySQL日志文件_MySQL

Jun 01, 2016 pm 01:29 PM
信息 数据库 记录

bitsCN.com

MySQL日志文件

 

一、

 

MySQL有不同类型的日志文件,从它们当中可以查询到MYSQL都做了什么,对于MYSQL的管理是不可或缺的。

 

1、错误日志(The error log):记录数据库启动、运行以及停止过程中错误信息;

 

--log-error=[file-name]用来指定错误日志存放的位置。

 

  如果没有指定[file-name],默认hostname.err做为文件名,默认存放在DATADIR目录中。

 

错误日志文件的格式:

 

时间  [错误级别]  错误信息

 

MySQL客户端可以通过下列方法来获取错误日志的详细位置:

 

1.      mysql> show variables like 'log_error';  

 

2.      +---------------+-------------------------------------------+  

 

3.      | Variable_name | Value                       |  

 

4.      +---------------+-------------------------------------------+  

 

5.      | log_error     | /usr/local/mysql/var/51ososdb.err |  

 

6.      +---------------+-------------------------------------------+  

 

7.      1 row in set (0.00 sec) 

 

通过命令show variables like 'log_error'; 可以得到log_error变量的值,即是错误日志文件的详细位置。

 

错误日志文件的记录级别:

 

错误日志有3个level:error、warning 和information。我使用的是mysql-5.1.51,安装在/usr/local/mysql下。

 

在/usr/local/mysql/include/my_sys.h中

 

#cat  my_sys.h你会发现下面的定义

 

enum  loglevel {

 

ERROR_LEVEL,                 //错误级别

 

WARNING_LEVEL,              //警告级别

 

INFORMATION_LEVEL          //信息级别

 

};

 

下面是一个错误日志样版:

 

2.错误信息样板

 

  080313 05:21:55 mysqld started

 

  080313 5:21:55 InnoDB: Started; log sequence number 0 43655

 

  080313 5:21:55 [Note] /usr/local/mysql/bin/mysqld: ready for connections.

 

  Version: '5.0.26-standard-log' socket: '/var/lib/mysql/mysql.sock' port: 3306 MySQL Community Edition - Standard (GPL)

 

  080313 5:24:13 [Note] /usr/local/mysql/bin/mysqld: Normal shutdown

 

  080313 5:24:13 InnoDB: Starting shutdown...

 

  080313 5:24:16 InnoDB: Shutdown completed; log sequence number 0 43655

 

  080313 5:24:16 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete

 

  080313 05:24:16 mysqld ended

 

  080313 05:24:47 mysqld started

 

  080313 5:24:47 InnoDB: Started; log sequence number 0 43655

 

  080313 5:24:47 [Note] /usr/local/mysql/bin/mysqld: ready for connections.

 

Version: '5.0.26-standard-log' socket: '/var/lib/mysql/mysql.sock' port: 3306 MySQL Community Edition - Standard (GPL)

 

2、ISAM(索引顺序访问方法)操作日志(The isam log):记录所有对ISAM表的修改,该日志仅仅用于调试ISAM模式;

 

3、SQL执行日志(the query log):记录了客户端的连接以及所执行的SQL语句;

 

4、更新日志(the update log):记录了改变数据的语句,已经不建议使用,由二进制日志替代;

 

5、二进制日志(the binary log):记录了所有对数据库数据的修改语句;

 

6、超时日志(the slow log):记录所有执行时间超过最大SQL执行时间(long_query_time)或未使用索引的语句;

 

如果你是在用mysql的复制、备份功能,那么服务器还提供一个叫做relay log的日志文件;

 

二、

 

默认情况下所有日志文件会记录在MYSQL的数据目录下,你可以通过强制mysql去关闭并重新打开一个文件进行日志记录,系统会自动加后缀(如.00001),方式有在mysql环境下执行语句mysql>flush logs;或者通过mysqladmin管理程序执行#mysqladmin flush-logs或#mysqladmin refresh

 

这些日志的启动方式可以在mysql_safe方式启动数据库的时候,后面跟选项参数,也可以在配置文件里配置,推荐采用第二种方式,配置方法很简单。

 

我只配置了三种日志:

 

[mysqld]

log=/var/log/mysqld_common.log

log-error=/var/log/mysqld_err.log

log-bin=/var/log/mysqld_bin.bin

 

日志的查看很简单,大部分都是文本,直接用vim、less、more之类的工具看就可以了,值得说明的是二进制文件的查看:

 

1). 首先确定是否开启了二进制文件记录功能

mysql>show variables like 'log_bin';

 

2). 如果你想知道现在记录二进制数据的文件具体信息,你可以通过下列语句看到现在正在记录哪个文件,以及记录的当前位置:

mysql>show master status;

 

3). 查看二进制数据需要借助程序mysqlbinlog,看看它支持哪些选项,根据自己需要来使用。

mysql>mysqlbinlog /var/log/mysql/mysql-bin.000040;

 

4)查询某个时间范围的可以执行下列语句,如果记录很多可以将结果定向到一个文件里自己慢慢看:-) :

mysql>mysqlbinlog --start-datetime='2008-01-01 00:00:00' --stop-datetime='2008-08-08 00:00:00'  /var/log/mysql/mysql-bin.000040 > ./tmp.log

 

bitsCN.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment le langage Go implémente-t-il les opérations d'ajout, de suppression, de modification et de requête de la base de données ? Comment le langage Go implémente-t-il les opérations d'ajout, de suppression, de modification et de requête de la base de données ? Mar 27, 2024 pm 09:39 PM

Le langage Go est un langage de programmation efficace, concis et facile à apprendre. Il est privilégié par les développeurs en raison de ses avantages en programmation simultanée et en programmation réseau. Dans le développement réel, les opérations de base de données font partie intégrante. Cet article explique comment utiliser le langage Go pour implémenter les opérations d'ajout, de suppression, de modification et de requête de base de données. Dans le langage Go, nous utilisons généralement des bibliothèques tierces pour faire fonctionner les bases de données, telles que les packages SQL couramment utilisés, gorm, etc. Ici, nous prenons le package SQL comme exemple pour présenter comment implémenter les opérations d'ajout, de suppression, de modification et de requête de la base de données. Supposons que nous utilisons une base de données MySQL.

iOS 18 ajoute une nouvelle fonction d'album 'Récupéré' pour récupérer les photos perdues ou endommagées iOS 18 ajoute une nouvelle fonction d'album 'Récupéré' pour récupérer les photos perdues ou endommagées Jul 18, 2024 am 05:48 AM

Les dernières versions d'Apple des systèmes iOS18, iPadOS18 et macOS Sequoia ont ajouté une fonctionnalité importante à l'application Photos, conçue pour aider les utilisateurs à récupérer facilement des photos et des vidéos perdues ou endommagées pour diverses raisons. La nouvelle fonctionnalité introduit un album appelé "Récupéré" dans la section Outils de l'application Photos qui apparaîtra automatiquement lorsqu'un utilisateur a des photos ou des vidéos sur son appareil qui ne font pas partie de sa photothèque. L'émergence de l'album « Récupéré » offre une solution aux photos et vidéos perdues en raison d'une corruption de la base de données, d'une application d'appareil photo qui n'enregistre pas correctement dans la photothèque ou d'une application tierce gérant la photothèque. Les utilisateurs n'ont besoin que de quelques étapes simples

Comment Hibernate implémente-t-il le mappage polymorphe ? Comment Hibernate implémente-t-il le mappage polymorphe ? Apr 17, 2024 pm 12:09 PM

Le mappage polymorphe Hibernate peut mapper les classes héritées à la base de données et fournit les types de mappage suivants : join-subclass : crée une table séparée pour la sous-classe, incluant toutes les colonnes de la classe parent. table par classe : créez une table distincte pour les sous-classes, contenant uniquement des colonnes spécifiques aux sous-classes. union-subclass : similaire à join-subclass, mais la table de classe parent réunit toutes les colonnes de la sous-classe.

Une analyse approfondie de la façon dont HTML lit la base de données Une analyse approfondie de la façon dont HTML lit la base de données Apr 09, 2024 pm 12:36 PM

HTML ne peut pas lire directement la base de données, mais cela peut être réalisé via JavaScript et AJAX. Les étapes comprennent l'établissement d'une connexion à la base de données, l'envoi d'une requête, le traitement de la réponse et la mise à jour de la page. Cet article fournit un exemple pratique d'utilisation de JavaScript, AJAX et PHP pour lire les données d'une base de données MySQL, montrant comment afficher dynamiquement les résultats d'une requête dans une page HTML. Cet exemple utilise XMLHttpRequest pour établir une connexion à la base de données, envoyer une requête et traiter la réponse, remplissant ainsi les données dans les éléments de la page et réalisant la fonction de lecture HTML de la base de données.

Tutoriel détaillé sur l'établissement d'une connexion à une base de données à l'aide de MySQLi en PHP Tutoriel détaillé sur l'établissement d'une connexion à une base de données à l'aide de MySQLi en PHP Jun 04, 2024 pm 01:42 PM

Comment utiliser MySQLi pour établir une connexion à une base de données en PHP : Inclure l'extension MySQLi (require_once) Créer une fonction de connexion (functionconnect_to_db) Appeler la fonction de connexion ($conn=connect_to_db()) Exécuter une requête ($result=$conn->query()) Fermer connexion ( $conn->close())

Comment gérer les erreurs de connexion à la base de données en PHP Comment gérer les erreurs de connexion à la base de données en PHP Jun 05, 2024 pm 02:16 PM

Pour gérer les erreurs de connexion à la base de données en PHP, vous pouvez utiliser les étapes suivantes : Utilisez mysqli_connect_errno() pour obtenir le code d'erreur. Utilisez mysqli_connect_error() pour obtenir le message d'erreur. En capturant et en enregistrant ces messages d'erreur, les problèmes de connexion à la base de données peuvent être facilement identifiés et résolus, garantissant ainsi le bon fonctionnement de votre application.

Conseils et pratiques pour gérer les caractères chinois tronqués dans les bases de données avec PHP Conseils et pratiques pour gérer les caractères chinois tronqués dans les bases de données avec PHP Mar 27, 2024 pm 05:21 PM

PHP est un langage de programmation back-end largement utilisé dans le développement de sites Web. Il possède de puissantes fonctions d'exploitation de bases de données et est souvent utilisé pour interagir avec des bases de données telles que MySQL. Cependant, en raison de la complexité du codage des caractères chinois, des problèmes surviennent souvent lorsqu'il s'agit de caractères chinois tronqués dans la base de données. Cet article présentera les compétences et les pratiques de PHP dans la gestion des caractères chinois tronqués dans les bases de données, y compris les causes courantes des caractères tronqués, les solutions et des exemples de code spécifiques. Les raisons courantes pour lesquelles les caractères sont tronqués sont des paramètres de jeu de caractères incorrects dans la base de données : le jeu de caractères correct doit être sélectionné lors de la création de la base de données, comme utf8 ou u.

Comment utiliser les fonctions de rappel de base de données dans Golang ? Comment utiliser les fonctions de rappel de base de données dans Golang ? Jun 03, 2024 pm 02:20 PM

L'utilisation de la fonction de rappel de base de données dans Golang peut permettre : d'exécuter du code personnalisé une fois l'opération de base de données spécifiée terminée. Ajoutez un comportement personnalisé via des fonctions distinctes sans écrire de code supplémentaire. Des fonctions de rappel sont disponibles pour les opérations d'insertion, de mise à jour, de suppression et de requête. Vous devez utiliser la fonction sql.Exec, sql.QueryRow ou sql.Query pour utiliser la fonction de rappel.

See all articles