Maison >base de données >tutoriel mysql >Comment supprimer le journal dans MySQL
MySQL est un système de gestion de base de données relationnelle couramment utilisé de nos jours. Cependant, à mesure que la quantité de données augmente et que le système fonctionne, MySQL ralentit progressivement. À ce stade, il est nécessaire d'effacer les journaux dans MySQL pour améliorer les performances de la base de données. .
Il existe quatre journaux principaux dans MySQL : le journal des erreurs, le journal des requêtes lentes, le journal binaire et le journal des transactions. Parmi ces quatre types, si vous souhaitez l’effacer, vous devez faire attention à certains détails. Avant de continuer, il est préférable de faire une sauvegarde. Jetons donc un coup d'œil aux opérations spécifiques de suppression de chaque journal dans MySQL.
1. Supprimer le journal des erreurs
Le journal des erreurs de MySQL est principalement utilisé pour enregistrer des informations lorsque des erreurs se produisent. L'affichage du journal des erreurs nous aide à comprendre les problèmes qui surviennent lors du fonctionnement du système. Lorsque le fichier journal est trop volumineux et doit être effacé, vous pouvez procéder comme suit :
1.1 Vérifiez le chemin du journal des erreurs
Entrez la commande sur la ligne de commande : SHOW VARIABLES LIKE '%log_error%'
; Vous obtiendrez les résultats suivants :
Variable_name | Value |
---|---|
log_error | /var/log/mysql/error.log |
Vous pouvez voir que le chemin du journal des erreurs de mysql est /var/log/mysql/error .log.
1.2 Effacer le journal des erreurs
Entrez la commande dans la ligne de commande : echo "" > /var/log/mysql/error.log .
Si vous souhaitez toujours confirmer s'il est vide, vous pouvez vérifier s'il est vide via la commande suivante :
tail -f /var/log/mysql/error.log
2 Supprimez le journal des requêtes lentes
.Le journal des requêtes lentes de MySQL est utilisé. L'enregistrement d'instructions de requête exécutées depuis longtemps peut nous aider à comprendre certains problèmes de performances de la base de données. Lorsque le fichier journal est trop volumineux et doit être effacé, vous pouvez procéder comme suit :
2.1 Afficher le chemin du journal des requêtes lentes
Entrez la commande sur la ligne de commande : SHOW VARIABLES LIKE '%slow_query%'
Vous obtiendrez les résultats suivants :
Variable_name | Value |
---|---|
slow_query_log | ON |
slow_query_log_file | /var /log/mysql/mysql l-slow.log |
Vous pouvez voir que MySQL est lent. Le chemin du journal des requêtes est /var/log/mysql/mysql-slow.log.
2.2 Effacer le journal des requêtes lentes
Entrez la commande sur la ligne de commande : echo "" > /var/log/mysql/mysql-slow.log.
Si vous devez encore confirmer si le journal est effacé, vous pouvez entrer :
tail -f /var/log/mysql/mysql-slow.log
3 Supprimer le journal binaire
Le journal binaire de MySQL est utilisé. pour enregistrer les opérations de transaction de base de données, utilisées lors de la réplication maître-esclave de la base de données. L'effacement du journal binaire nécessite une attention particulière et l'opération doit être effectuée sans affecter la synchronisation maître-esclave de la base de données.进 3.1 Désactivez le journal binaire
Dans le fichier de configuration de MySQL My.CNF, recherchez la section [MySQLD] et ajoutez la ligne de code suivante :
log-Bin = MySQL-BIN #
binLog_Format = Mixed #format
-id=1 #ID du serveur MySQL, unique
Redémarrez le serveur MySQL pour que le journal binaire soit ouvert. Pour désactiver le journal binaire, vous devez modifier ou commenter log-bin et binlog_format dans my.cnf, puis redémarrer le serveur MySQL.
3.2 Effacer le journal binaire
Sans affecter la synchronisation maître-esclave, vous pouvez effacer le journal binaire de la manière suivante.
Tout d'abord, vérifiez le nom du fichier et l'emplacement du journal binaire via la commande suivante :
SHOW MASTER STATUS;
Vous obtiendrez les résultats suivants :
File | Position | Binlog_Do_DB | Binlog_Ignore_ DB |
---|---|---|---|
mysql -bin.000001 | 107 |
Vous pouvez voir que la position du journal binaire est 107.
Ensuite, effacez le journal binaire via la commande suivante :
RESET MASTER ;
Vérifiez ensuite à nouveau le nom du fichier et l'emplacement du journal binaire :
SHOW MASTER STATUS
Vous pouvez voir que la génération du nouveau binaire ; les journaux ont été redémarrés.
Veuillez noter que lorsque vous effectuez des opérations, vous devez confirmer que cela n'affectera pas le fonctionnement normal du serveur MySQL.
4. Supprimer le journal des transactions
Le journal des transactions MySQL est un journal unique au moteur InnoDB. Il enregistre le processus d'exécution de chaque transaction dans le serveur MySQL. Après une panne du système, les données du serveur MySQL peuvent être restaurées en fonction. le journal des transactions. Encore une fois, c'est une bonne idée de faire une sauvegarde avant de continuer.
4.1 Afficher le fichier journal des transactions
Dans le fichier de configuration MySQL my.cnf, recherchez la section [mysqld] et ajoutez la ligne de code suivante :
innodb_log_file_size=1024M #Définissez la taille du fichier journal des transactions
innodb_log_files_in_group=3 # Définir le fichier journal des transactions Redémarrez le serveur MySQL plusieurs fois pour que le journal des transactions soit ouvert. Pour afficher le chemin du journal des transactions, vous pouvez exécuter l'instruction suivante dans MySQL :
SHOW VARIABLES LIKE '%innodb_log%';
Vous pouvez voir le chemin du fichier journal des transactions d'InnoDB.
4.2 Effacer le journal des transactions
Avant de fonctionner, il est préférable de faire une sauvegarde pour éviter la perte de données causée par des opérations incorrectes.
Vous devez d'abord arrêter le serveur MySQL, puis supprimer le fichier journal des transactions et enfin redémarrer le serveur MySQL. Lors du démarrage du serveur MySQL, MySQL recréera automatiquement de nouveaux fichiers journaux de transactions.
Ce qui précède est l'opération de suppression de divers journaux dans MySQL. Il convient de noter qu'il est préférable de faire une sauvegarde avant d'effectuer l'opération pour éviter la perte de données causée par des opérations incorrectes.
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!