Réponse officielle : Incohérence entre la variable mémoire et le fichier de configuration pour slow_query_log_file

La rubrique « Réponse officielle » propose des réponses détaillées aux questions fréquentes concernant GreatSQL. Elle couvre les domaines tels que l'installation, l'optimisation des configurations, le dépannage et les tests de performance.

Dans cet article, nous fournissons non seulement une solution mais aussi un exemple concret pour expliquer les causes profondes du problème, afin d'améliorer la compréhension de GreatSQL par les lecteurs.

Si vous rencontrez des difficultés techniques dans la gestion ou l'utilisation de GreatSQL et souhaitez approfondir vos compétences en base de données, consultez ces articles de la série « Réponse officielle ». Vous y trouverez des solutions fiables ainsi que des conseils pratiques sur l’optimisation des bases de données.

Lire ces contenus vous permettra d’acquérir une expertise complète en gestion de GreatSQL et de faire face efficacement à diverses situations critiques. Abonnez-vous à cette rubrique pour progresser ensemble !

Cette question provient du forum. Voici un aperçu de l’environnement utilisé :

Nom Version
Système d'exploitation BigCloud Enterprise Linux 8
Version de la base de données GreatSQL-8.0.32-25

Problème signalé

L'utilisateur a configuré le chemin du fichier de journal lent dans le fichier my.cnf comme suit :

slow_query_log_file = /data/GreatSQL/logs/slow.log

Cependant, lors de la vérification via la mémoire (commande mysqladmin), il observe que la valeur de la variable est différente :

mysqladmin var | grep slow_query_log_file
| slow_query_log_file  | /data/GreatSQL/logs/bclinux01.log.000001

Réponse au problème

  1. Pourquoi le nom du fichier généré sur le disque diffère-t-il de ce qui est configuré ?

    Est-ce que l'utilisateur a accidentellement modifié une autre variable, comme binlog, entraînant cette incohérence ?

    En effet, lorsque le fichier de configuration indique :

    slow_query_log_file = /data/GreatSQL/logs/slow.log
    

    La commande suivante montre :

    SHOW GLOBAL VARIABLES LIKE '%slow%';
    | slow_query_log_file   | /data/GreatSQL/logs/bclinux01.log
    

    Cette incohérence peut être reproduite avec :

    SET GLOBAL slow_query_log_file='/data/GreatSQL/logs/bclinux01.log';
    
  2. Même si le paramètre slow_query_log_file est commenté dans le fichier my.cnf, le fichier reste bclinux01.log.000001.

    Après avoir commenté la ligne dans my.cnf sans redémarrage, aucune modification n’est appliquée à la variable globale. En revanche, après redémarrage, le nom du fichier change en hostname-slow.log.

Explication sur les fichiers de log multiples

Les ficheirs de log slow.log.xxxxxx sont créés automatiquement lorsque les deux paramètres suivants sont définis :

  • max_slowlog_size
  • max_slowlog_files

Le paramètre max_slowlog_size contrôle la taille maximale du fichier de log lent. Une fois atteinte, le serveur renomme le fichier actuel en slow_query_log_file.000001.

Le paramètre max_slowlog_files limite le nombre total de fichiers de log lents. Lorsque cette limite est atteinte, le serveur supprime le fichier avec le numéro le plus bas et crée un nouveau fichier avec un numéro plus élevé.

Solution proposée

Appliquez la commande suivante pour corriger la variable mémoire :

SET GLOBAL slow_query_log_file = '/data/GreatSQL/slow.log';

Ensuite, vérifiez la variable :

SHOW GLOBAL VARIABLES LIKE '%slow%';
| slow_query_log_file   | /data/GreatSQL/slow.log.000001 |

Bénéficiez de GreatSQL 😃

À propos de GreatSQL

GreatSQL est une base de données open source nationale adaptée aux applications financières, offrant des caractéristiques clés telles que la haute performance, la fiabilité, la facilité d’utilisation et la sécurité. Elle peut remplacer MySQL ou Percona Server dans les environnements de production, et est entièrement gratuite et compatible avec ces derniers.

Ressources liées

Blog communautaire

Appel à contributions : https://greatsql.cn/thread-100-1-1.html

Groupe de discussion technique

WhatsApp : Scannez le QR code pour ajouter l'assistant de la communauté GreatSQL via WhatsApp et envoyez le message « 加群 » pour rejoindre le groupe.

Étiquettes: GreatSQL slow query log max_slowlog_size max_slowlog_files Configuration

Publié le 21 septembre à 14h45