Journaux de requêtes lentes MySQL : Guide détaillé 2023

Publié: 2023-08-01
Partager sur les profils sociaux.

L'article est une ressource concise mais complète conçue pour fournir une compréhension claire des journaux de requêtes lentes MySQL et comment les interpréter efficacement. Ce guide vise à démêler les complexités entourant les journaux de requêtes lentes, permettant aux utilisateurs d'identifier et de résoudre les goulots d'étranglement de performances et les problèmes potentiels de base de données.

L'activation du journal des requêtes lentes pour MySQL s'avère être un atout précieux pour diagnostiquer les problèmes de performances et d'efficacité qui peuvent avoir un impact sur votre serveur. En identifiant les requêtes avec des temps d'exécution particulièrement lents, vous gagnez la capacité de les traiter efficacement en restructurant l'application responsable des requêtes ou en optimisant les requêtes elles-mêmes. Cette approche proactive garantit que vos requêtes sont construites avec une efficacité optimale, ce qui conduit finalement à une amélioration des performances globales du système.

Table des matières

Présentation de MySQL

MySQL est l'un des systèmes de gestion de bases de données relationnelles open source les plus populaires, largement utilisé pour stocker, gérer et récupérer des données pour diverses applications et logiciels Web. Comme tout système de base de données sophistiqué, MySQL fournit un mécanisme de journalisation robuste pour enregistrer les informations essentielles sur ses activités et ses performances. Ces journaux jouent un rôle crucial dans la surveillance et le dépannage du comportement de la base de données et peuvent fournir des informations précieuses sur la santé et l'efficacité du système.

Types de journaux générés par MySQL

Il existe plusieurs types de journaux générés par MySQL, chacun servant un objectif spécifique :

  1. Journal général des requêtes : ce journal enregistre chaque requête SQL exécutée sur le serveur, quelle que soit sa source. C'est un outil puissant pour le débogage et la compréhension de la séquence des requêtes en cours d'exécution, mais il peut également générer une grande quantité de données, ce qui le rend principalement adapté aux diagnostics à court terme.
  2. Journal des erreurs : le journal des erreurs capture toutes les erreurs rencontrées lors du fonctionnement du serveur MySQL. Ces erreurs peuvent inclure des problèmes de démarrage, d'arrêt ou d'autres erreurs critiques susceptibles d'affecter les fonctionnalités de la base de données. La surveillance du journal des erreurs aide les administrateurs à identifier et résoudre rapidement les problèmes potentiels.
  3. Journal des requêtes lentes : comme mentionné précédemment, le journal des requêtes lentes enregistre les requêtes dont l'exécution prend plus de temps qu'un seuil prédéfini. Ce journal est essentiel pour identifier les goulots d'étranglement des performances et les requêtes inefficaces, permettant aux administrateurs d'optimiser et d'améliorer les performances globales de la base de données.
  4. Journal binaire : le journal binaire contient un enregistrement de toutes les modifications de données (insertions, mises à jour et suppressions) apportées à la base de données. Il est utilisé à des fins de réplication, permettant aux données d'être synchronisées sur plusieurs serveurs MySQL.
  5. Journal de relais : le journal de relais est spécifique à la réplication MySQL. Il stocke les données reçues du serveur maître avant qu'elles ne soient exécutées sur le serveur esclave dans une configuration de réplication.

Comment activer le journal des requêtes lentes MySQL ?

Vous trouverez ci-dessous les étapes pour activer le journal des requêtes lentes pour MySQL ou MariaDB.

  1. Tout d'abord, vous devez vous connecter à SSH en utilisant Bitwise. Ouvrez le client SSH au niveau du bit. Fournissez les détails de votre hôte, de votre port et de votre nom d'utilisateur, puis choisissez le mot de passe dans la liste déroulante Méthode initiale et continuez en cliquant sur le bouton de connexion. Une fenêtre contextuelle apparaîtra, vous invitant à saisir votre mot de passe SSH. Entrez le mot de passe SSH dans le champ fourni.
Connectez-vous à SSH en utilisant Bitwise
Journaux de requêtes lentes MySQL : un guide détaillé

2. Accédez au fichier /etc/mysql/my.cnf à l'aide d'un éditeur de texte. Pour cela, accédez d'abord à Nouvelle fenêtre SFTP à partir du client Bitwise SSH.

Accédez à la nouvelle fenêtre SFTP à partir du client Bitwise SSH.

Maintenant, tapez /etc dans la barre de recherche des fichiers distants et appuyez sur Entrée.

Activer le journal des requêtes lentes MySQL

Ouvrez le fichier mysql ou MariaDB.

Activer le journal des requêtes lentes MySQL

Sélectionnez maintenant my.cnf, faites un clic droit et cliquez sur modifier.

Activer le journal des requêtes lentes MySQL

Un éditeur de texte apparaîtra. Copiez les commandes suivantes, collez-les au bas du fichier et enregistrez-le.

 slow_query_log = 1 slow-query_log_file = /var/log/mysql-slow.log long_query_time = 2

3. Ouvrez maintenant le terminal Bitwise et exécutez les commandes suivantes pour générer le fichier /var/log/mysql-slow.log et affectez l'utilisateur mysql en tant que propriétaire.

 touch /var/log/mysql-slow.log chown mysql:mysql /var/log/mysql-slow.log

4. Pour redémarrer MySQL ou MariaDB, exécutez la commande ci-dessous.

 /usr/local/cpanel/scripts/restartsrv_mysql

Lire le journal des requêtes lentes MySQL

Accédez au fichier contenant les journaux des requêtes lentes en utilisant :

/var/log/mysql/mysql-slow.log

Dans le fichier journal, chaque requête lente est enregistrée en tant qu'entrée. Ces entrées incluent généralement des détails tels que l'horodatage, l'heure d'exécution de la requête, le nombre de lignes examinées et l'instruction SQL réelle.

Au lieu de lire directement le journal des requêtes lentes, il est souvent plus avantageux d'utiliser la commande "mysqldumpslow" pour analyser et résumer le contenu du journal. Vous pouvez exécuter la commande tout en étant connecté en tant que root via SSH, comme suit :

sudo -i mysqldumpslow /var/log/mysql/mysql-slow.log

La sortie ci-dessous sera obtenue :

Lire le journal des requêtes lentes MySQL

FAQ

A quoi sert la commande mysqldumpslow ?

La commande mysqldumpslow a pour but d'analyser et de résumer le contenu du journal des requêtes lentes MySQL. Il vous permet d'extraire des informations précieuses du fichier journal, y compris des détails sur les requêtes lentes les plus fréquentes et leurs temps d'exécution respectifs. En exécutant mysqldumpslow /var/log/mysql/mysql-slow.log , vous pouvez analyser efficacement et obtenir des informations à partir des requêtes lentes de manière efficace.

Puis-je utiliser le journal des requêtes lentes pour une surveillance à long terme ?

Bien que le journal des requêtes lentes s'avère précieux pour les diagnostics à court terme, son activation pendant de longues périodes peut entraîner la génération d'un volume de données substantiel. Pour faciliter la surveillance à long terme, il est recommandé d'explorer des approches alternatives, telles que l'utilisation d'outils de surveillance et de solutions d'analyse des performances. Cela permet d'éviter un débordement du journal avec des entrées excessives et garantit une gestion efficace des performances de la base de données dans le temps.

Comment le journal des requêtes lentes peut-il aider à diagnostiquer les problèmes de performances de la base de données ?

Le journal des requêtes lentes joue un rôle essentiel dans le diagnostic des problèmes de performances de la base de données car il identifie les requêtes dont les temps d'exécution sont lents. Grâce à l'analyse de ces requêtes lentes, les administrateurs peuvent localiser avec précision les goulots d'étranglement et les inefficacités dans la base de données. Armés de ces informations, ils peuvent optimiser les requêtes, restructurer les applications ou mettre en œuvre des modifications essentielles pour améliorer considérablement les performances globales du système.

Comment puis-je optimiser les requêtes en fonction des informations du journal des requêtes lentes ?

Après avoir identifié les requêtes lentes à partir du journal, vous avez la possibilité de les optimiser grâce à diverses méthodes. Cela inclut l'ajout d'index appropriés, la réécriture des requêtes ou la restructuration du schéma de la base de données. De plus, l'utilisation de techniques d'optimisation des requêtes telles que EXPLAIN et le profilage peut fournir des informations précieuses et contribuer à des améliorations significatives des performances des requêtes.

Le journal des requêtes lentes s'applique-t-il uniquement à MySQL ou peut-il être utilisé avec d'autres systèmes de base de données ?

Le journal des requêtes lentes est conçu exclusivement pour les systèmes de base de données MySQL et MariaDB. Bien que d'autres systèmes de gestion de base de données puissent offrir des fonctionnalités comparables, il est important de noter que le format du journal et les méthodes d'activation peuvent varier d'un système à l'autre.