"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment puis-je réduire la taille de mon fichier MySQL ibdata1 ?

Comment puis-je réduire la taille de mon fichier MySQL ibdata1 ?

Publié le 2024-12-21
Parcourir:359

How Can I Reduce the Size of My MySQL ibdata1 File?

Purger et réduire le fichier ibdata1 dans MySQL

Lors de l'utilisation de 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 résout ce problème et fournit 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 de bases de données et de tables supprime uniquement leurs métadonnées du serveur, mais le fichier lui-même reste inchangé.

Solution : Activer 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 de ibdata1.

Récupération de l'espace depuis ibdata1

Pour libérez l'espace occupé par ibdata1, suivez ces étapes :

  1. Dump 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 les bases de données sauvegardées.

Ce processus supprimera toutes les tables et données, assurez-vous donc 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.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3