Maison >base de données >tutoriel mysql >Comment puis-je purger et réduire le fichier ibdata1 dans MySQL ?

Comment puis-je purger et réduire le fichier ibdata1 dans MySQL ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-04 15:13:11292parcourir

How Can I Purge and Shrink the ibdata1 File in MySQL?

Purger et réduire le fichier Ibdata1 dans MySQL

Malgré la suppression des bases de données dans MySQL, la taille du fichier ibdata1 peut s'accumuler, provoquant des problèmes de performances. Pour résoudre ce problème, MySQL vous permet de configurer des tables et des index individuels pour utiliser des fichiers distincts au lieu de les stocker dans ibdata1.

Configuration de fichiers de table individuels

Ajoutez le paramètre suivant dans votre fichier my.cnf :

[mysqld]
innodb_file_per_table=1

Redémarrez MySQL pour que les modifications prennent effet. Cela garantira que les nouvelles tables sont créées avec leurs propres fichiers ibd*.

Récupération de l'espace depuis Ibdata1

Pour récupérer de l'espace depuis ibdata1, suivez ces étapes :

  1. Créez un dump de toutes les bases de données sauf mysql et performance_schema.
  2. Supprimez toutes les bases de données sauf mysql et performance_schema.
  3. Arrêtez MySQL.
  4. Supprimez les fichiers ibdata1 et ib_log.
  5. Démarrez MySQL.
  6. Restaurer la base de données à partir du dump.

Au redémarrage, MySQL créera de nouveaux fichiers ibdata1 et ib_log. Lorsque vous créez de nouvelles bases de données à des fins d'analyse, elles utiliseront des fichiers ibd* individuels plutôt que ibdata1.

Optimisation de la taille de la table

À l'aide de l'option ALTER TABLE ENGINE=innodb ou OPTIMIZE TABLE les commandes peuvent déplacer les données et les pages d'index d'ibdata1 vers des fichiers séparés. Cependant, ibdata1 ne diminuera pas sans effectuer les étapes mentionnées ci-dessus.

Notes supplémentaires

  • La base de données information_schema ne peut pas être supprimée car elle contient des vues en lecture seule qui sont régénérés au redémarrage de MySQL.
  • Bien que MySQL Enterprise Edition fournisse des fonctionnalités supplémentaires pour réduire ibdata1, elles ne sont pas disponibles dans le Édition communautaire.

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