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
-
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.logLa commande suivante montre :
SHOW GLOBAL VARIABLES LIKE '%slow%'; | slow_query_log_file | /data/GreatSQL/logs/bclinux01.logCette incohérence peut être reproduite avec :
SET GLOBAL slow_query_log_file='/data/GreatSQL/logs/bclinux01.log'; -
Même si le paramètre
slow_query_log_fileest 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_sizemax_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
- Communauté GreatSQL
- Gitee
- GitHub
- Bilibili
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.