Les logiciels généralement matures auront leurs propres fichiers journaux. Utilisez ces journaux pour localiser rapidement les problèmes. Dans Mysql, les journaux sont divisés dans les catégories suivantes :
Journal des requêtes lentes Lorsque le temps d'exécution de SQL dépasse la valeur définie, il sera enregistré
Journal des erreurs
Le journal des erreurs enregistre les problèmes qui se produisent lorsque Mysql démarre et s'arrête, et enregistre également les problèmes majeurs qui se produisent lorsque Mysql est en cours d'exécution . Vous pouvez utiliser des variables show telles que « log_err% » pour afficher l'emplacement du fichier journal des erreurs.mysql> show variables like 'log_err%'; +---------------------+-------------------------------+ | Variable_name | Value | +---------------------+-------------------------------+ | log_error | ./iZbp171edtq2kx5iy0xufeZ.err | | log_error_verbosity | 3 | +---------------------+-------------------------------+ 2 rows in set (0.01 sec)
Journal des requêtes générales
Le journal des requêtes générales enregistre toutes les opérations des utilisateurs, il prend donc généralement beaucoup de place et est généralement utilisé quotidiennement fonctionnement et maintenance. Il ne sera pas activé et le journal est également fermé par défaut. Si vous souhaitez l'activer, vous pouvez ajouter l'option de journalisation au fichier de configuration.Journal des requêtes lentes
Slow Query est un très bon outil pour résoudre les problèmes SQL Dans de nombreux cas, c'est notre SQL qui provoque le problème. Le système ne fonctionne pas correctement. L'auteur a déjà commis cette erreur, en utilisant une instruction de requête très complexe, et le système a obtenu 502 dès qu'il était obsolète. Il y a quelque temps, j'ai découvert que l'ancien projet de l'entreprise présentait également des problèmes correspondants. Le projet utilisait des dedecms. Lorsque la quantité de données atteignait un certain niveau, un grand nombre de requêtes lentes apparaissaient, puis l'ensemble du processeur du système était plein. Par conséquent, nous devons vérifier fréquemment le journal des requêtes lentes pour trouver le problème SQL.Élément de configuration de requête lente
Case
Maintenant, j'active mon journal de requêtes lentes MySQL et je règle l'heure sur 0, j'enregistre tout SQL. Voyons ensuite à quoi ressemble le journal des requêtes lentes.Tcp port: 3306 Unix socket: /tmp/mysql.sock Time Id Command Argument # Time: 2020-05-31T12:00:01.895700Z # User@Host: blog[blog] @ localhost [] Id: 3 # Query_time: 0.000170 Lock_time: 0.000000 Rows_sent: 0 Rows_examined: 0 use blog; SET timestamp=1590926401; SET NAMES utf8mb4; # Time: 2020-05-31T12:00:01.902684Z # User@Host: blog[blog] @ localhost [] Id: 3 # Query_time: 0.006914 Lock_time: 0.006529 Rows_sent: 0 Rows_examined: 120 SET timestamp=1590926401; SELECT * FROM knowledge WHERE is_delete=0 AND star < 5 AND show_time <= 1590854400 ORDER BY show_time ASC LIMIT 1;
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!