InnoDB stocke toutes les tables dans un grand fichier ibdata1
.
Après avoir supprimé une grande table, le fichier conserve sa taille, quelle que soit sa taille. Comment puis-je réduire ce fichier sans avoir à vider et réimporter la base de données entière (qui a plusieurs centaines de Go au total)?
Je pense que la raison en est que vous pouvez toujours annuler la suppression. Dans mon cas, je n'en ai pas besoin.
la source
InnoDB stocke uniquement toutes vos tables InnoDB dans ibdata1 si vous n'utilisez pas le paramètre suivant dans votre fichier par défaut my.cnf:
DROP TABLE (et DROP DATABASE) ne peuvent pas être annulés.
Ce n'est pas la raison pour laquelle vous ne pouvez pas réduire ibdata1.
Il s'agit d'une explication abrégée, mais ibdata1 contient des éléments internes InnoDB en plus de vos données de table. D'après ma compréhension, pour le réduire, il faudrait le défragmenter, ce qui n'est pas une opération prise en charge.
la source