Base de données cœur de métier, la version est MySQL 8.34
Community Server Edition. Depuis son lancement, le journal des erreurs de ce serveur de base de données a augmenté très rapidement (comme le montre la figure ci-dessous), atteignant une capacité de plus de 10 G
toutes les 24 heures.
Comme il y a une alarme de panne et qu'elle n'a pas affecté l'accès normal à l'entreprise, le personnel concerné n'est pas autorisé à redémarrer le service MySQL
. Face à cette situation, j'ai dû mettre en place une tâche planifiée automatique pour nettoyer ces logs à heure fixe chaque nuit. Pour des opérations spécifiques, exécutez "crontab -e" sur la ligne de commande système et ajoutez la ligne de texte suivante :
|
pour voir si cette tâche planifiée a été exécutée, comme indiqué dans la figure ci-dessous.
C'est la fête du Printemps, tout le monde rentre chez lui pour fêter le Nouvel An, et c'est la période la plus basse pour les visites. Profitant de cette opportunité, j'ai l'intention de résoudre complètement ce problème. Demandez l'avis du personnel concerné et demandez s'il est possible de modifier le fichier d'options MySQL
pour bloquer les sorties d'avertissement inutiles ? La réponse a été "Combien de temps faut-il pour redémarrer"
? La réponse : "
Quelques minutes suffisent"
.
Qu'est-ce que ce journal d'erreurs défini enregistre en grande quantité ? Ouvrez le gros fichier "mysql.log"
et constatez qu'il est plein de messages d'avertissement. Utilisez la commande système "tail -f mysql.log" La sortie de l'écran roule comme un volant de moteur. Figure ci-dessous.
caching_sha2_password"
. La solution consiste soit à changer la méthode d'authentification par mot de passe de tous les comptes d'utilisateurs en "
caching_sha2_password"
, soit à ne pas enregistrer ces messages d'avertissement dans le fichier journal des erreurs "mysql.log". Puisqu'il existe de nombreux comptes d'utilisateurs et que plusieurs entreprises sont conçues, il est plus facile de ne pas enregistrer les messages d'avertissement. Ces messages d'avertissement sont de toute façon inutiles (laissez-les enregistrer de véritables journaux d'erreurs, ce qui facilitera le dépannage).
Le système hôte Centos 7 où se trouve le serveur,
Ouvrez le fichier d'options "/etc/my.cnf" dans l'éditeur de texte et ajoutez les lignes de texte suivantes dans le bloc de texte [mysqld
].
|
de MySQL 8
est "3", ce qui signifie que toutes les "
erreurs, avertissements et commentaires"
seront enregistrées dans le journal des erreurs. Le chiffre « 2
» signifie enregistrer « les erreurs et les avertissements », tandis que le chiffre « 1
» signifie enregistrer uniquement les « erreurs ».
, puis vérifiez si le service MySQL
local est normal, si la synchronisation maître-esclave à distance est normale et s'il y a un retard.
pour voir s'il ne croît plus rapidement. Après avoir observé pendant un certain temps, il est effectivement vrai que les journaux d'avertissement MySQL ne sont plus enregistrés et que le taux de croissance des fichiers a également été considérablement réduit.
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!