Dans ce didacticiel, nous allons vous montrer comment activer un journal des requêtes lentes pour MySQL sur les systèmes Linux. MySQL a une fonctionnalité intégrée qui vous permet de consigner les requêtes SQL dans un fichier, vous pouvez activer les journaux de requêtes SQL complets dans un fichier ou uniquement le journal des requêtes lentes. Il est facile pour nous de dépanner/déboguer l'instruction SQL si le journal des requêtes SQL est activé, le journal des requêtes lentes est utilisé pour rechercher les requêtes qui prennent beaucoup de temps à s'exécuter et sont donc candidats à l'optimisation. Nous supposons que vous avez déjà installé MySQL sur le système Linux avec des privilèges d'administrateur et nous supposons que vous avez déjà une petite connaissance de MySQL.
Cet article suppose que vous avez au moins des connaissances de base sur Linux, que vous savez utiliser le shell et, plus important encore, que vous hébergez votre site sur votre propre VPS. L'installation est assez simple et suppose que vous s'exécutent dans le compte root, sinon vous devrez peut-être ajouter 'sudo
‘ aux commandes pour obtenir les privilèges root. Je vais vous montrer étape par étape l'activation du journal des requêtes lentes pour MySQL.
Prérequis
- Un serveur exécutant l'un des systèmes d'exploitation suivants :CentOS Linux.
- Il est recommandé d'utiliser une nouvelle installation du système d'exploitation pour éviter tout problème potentiel.
- Accès SSH au serveur (ou ouvrez simplement Terminal si vous êtes sur un ordinateur de bureau).
- Un
non-root sudo user
ou l'accès à l'root user
. Nous vous recommandons d'agir en tant qu'non-root sudo user
, cependant, car vous pouvez endommager votre système si vous ne faites pas attention lorsque vous agissez en tant que root.
Activer le journal des requêtes lentes pour MySQL
Étape 1. Tout d'abord, commençons par nous assurer que votre système est à jour.
sudo dnf clean all sudo dnf update
Étape 2. Configurez le serveur MySQL.
Nous modifions maintenant le /etc/my.cnf
fichier avec votre éditeur de texte préféré.
nano /etc/my.cnf
Une fois que vous avez votre my.cnf
fichier ouvert, ajoutez la ligne suivante sous le "[mysqld]
” section.
[mysqld] log-slow-queries log-slow-queries= /var/log/mysql/slow-queries.log long_query_time=5
Enregistrez et fermez le fichier, puis créez le fichier slow-queries.log. Vous pouvez avoir le fichier à n'importe quel endroit de votre choix, tant que vous définissez le chemin dans votre my.cnf
.
touch /var/log/mysql/slow-queries.log chown mysql.mysql /var/log/mysql/slow-queries.log
Enfin, redémarrez le service MySQL. Saisissez la commande suivante :
sudo systemctl restart mysql
Étape 3. Vérifiez la requête de journal lente.
Une fois configuré avec succès. Vérifiez le "slow_query_log
" paramètre (il devrait être "ON") :
mysql> show variables like '%slow%'; +---------------------+--------------------------------+ | Variable_name | Value | +---------------------+--------------------------------+ | log_slow_queries | ON | | slow_launch_time | 2 | | slow_query_log | ON | | slow_query_log_file | /var/lib/mysql/mysqld-slow.log | +---------------------+--------------------------------+ 4 rows in set (0.00 sec)
Ensuite, nous vérifions le paramètre "long_query_time
", le temps devrait être de 5 secondes :
mysql> show variables like '%long%'; +--------------------+----------+ | Variable_name | Value | +--------------------+----------+ | long_query_time | 5.000000 | | max_long_data_size | 1048576 | +--------------------+----------+ 2 rows in set (0.00 sec)
Félicitations ! Vous avez activé avec succès un journal des requêtes lentes sur MySQL. Merci d'avoir utilisé ce didacticiel pour activer un journal des requêtes lentes sur MySQL dans le système Linux. Pour obtenir de l'aide supplémentaire ou des informations utiles, nous vous recommandons vous consultez le site Web officiel de MySQL.