Récupération de l'espace de stockage InnoDB
Le moteur MySQL InnoDB gère les données dans un fichier appelé ibdata1, où il stocke les données de table, les index, les métadonnées et d'autres composants d'infrastructure. Au fil du temps, les données des tables supprimées peuvent s'accumuler dans ibdata1, provoquant une surcharge de l'espace de stockage.
Méthode de nettoyage du moteur de stockage InnoDB
Pour réduire ibdata1 et libérer de l'espace, suivez ces étapes :
-
Vider et supprimer les bases de données :Exporter toutes les bases de données dans un fichier SQL (SQLData.sql) et supprimez toutes les bases de données sauf MySQL et information_schema.
-
Flush Transactional Data : Exécutez SET GLOBAL innodb_fast_shutdown = 0 ; pour effacer toutes les modifications transactionnelles des fichiers journaux.
-
Configurez MySQL : Ajoutez les paramètres appropriés au fichier my.cnf, notamment innodb_file_per_table, innodb_flush_method=O_DIRECT, innodb_log_file_size=1G et innodb_buffer_pool_size=4G.
-
Supprimer Ibdata et les fichiers journaux : Supprimer les fichiers ibdata* et ib_logfile* du répertoire de données.
-
Redémarrer MySQL : Démarrer MySQL, qui crée un nouveau ibdata1 avec un plus petit taille.
-
Importer des données SQL : Importez SQLData.sql pour restaurer la base de données.
Avantages de cette méthode
- Libère l'espace de stockage précédemment occupé par les tables supprimées.
- Améliore les performances en réduisant la taille d'ibdata1, améliorant les performances d'E/S.
- Offre un meilleur contrôle sur le stockage des données en séparant les données de table et les index dans des fichiers séparés.
Remarque :
Assurez-vous que les autorisations des utilisateurs sont préservées en copiant le répertoire du schéma mysql et en le restaurant après le processus de nettoyage. De plus, optimisez la taille du fichier journal en fonction des exigences du serveur et des caractéristiques de la charge de travail.
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!
Déclaration:Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn