Purger et réduire le fichier ibdata1 dans MySQL
En exploitant MySQL pour l'analyse des données dans R, les utilisateurs peuvent rencontrer un problème où la taille du fichier ibdata1 augmente excessivement malgré l’absence de données stockées. Cet article aborde ce problème et propose une solution complète.
Cause de la croissance du fichier ibdata1
Le fichier ibdata1 contient des données et des index de tables stockées dans l'espace de table partagé. Par défaut, MySQL stocke toutes les tables dans ce fichier unique, ce qui entraîne une expansion continue de celui-ci. La suppression des bases de données et des tables supprime uniquement leurs métadonnées du serveur, mais le fichier lui-même reste inchangé.
Solution : activez le fichier par table séparé
Pour éviter l'ibdata1 Pour empêcher une croissance excessive du fichier, configurez MySQL pour stocker chaque table et ses index dans des fichiers séparés. Ceci est désormais activé par défaut dans MySQL 5.6.6 et versions ultérieures. Si vous utilisez une version antérieure, ajoutez la ligne suivante au fichier my.cnf :
[mysqld] innodb_file_per_table=1
Cela garantira que les bases de données et les tables nouvellement créées utilisent des fichiers ibd* distincts au lieu d'ibdata1.
Récupérer de l'espace depuis ibdata1
Pour libérer l'espace occupé par ibdata1, suivez ces étapes :
Ce processus supprimera toutes les tables et données, alors assurez-vous d'avoir sauvegardé les informations nécessaires avant de continuer.
Remarque sur le schéma d'information
Le schéma d'information est une collection de vues en lecture seule, et non de tables réelles. Il n'occupe aucun fichier sur le disque et est régénéré au redémarrage de MySQL. Par conséquent, sa suppression n’a aucun effet sur la taille du fichier ibdata1.
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!