2009-05-27 13 views
5

J'ai une base de données MySQL configurée avec le moteur de stockage innoDB. J'ai laissé tomber la base de données (drop database <dbname>) mais l'espace disque n'a pas été libéré.mysql: Comment libérer de l'espace (innodb)

A /var/lib/mysql il y a des fichiers « grands » appelés ib_logfile0, ib_logfile1 et ibdata1 où le dernier est vraiment grand. Je pressume que ces fichiers sont en fait la base de données originale.

Comment puis-je savoir si je peux les supprimer? Ou une meilleure question est de savoir comment déposer une base de données afin que l'espace disque est récupéré.

Précision
Je veux abandonner la base de données complète et libérer l'espace disque. Je ne souhaite effectuer aucune restauration.

Merci d'avance.

+0

Ceci est une question pour serverfault.com – soulmerge

Répondre

7

Malheureusement, il n'y a aucun moyen de réduire ces fichiers une fois que l'espace a été alloué. MySQL réutilisera cependant l'espace lors de l'ajout de nouvelles données, mais le fichier ne rétrécira pas.

Pour réduire la taille, vous devez vider les bases de données, puis les restaurer à nouveau.

Vous pouvez également effectuer les opérations suivantes:

Set innodb_file_per_table dans votre fichier de configuration, qui va créer un fichier séparé par table. Cela vous permettra ensuite de supprimer ces fichiers une fois qu'une base de données est supprimée et vous permettra également d'utiliser la commande OPTIMIZE TABLE pour reconstruire les fichiers ibd si vous réduisez les données dans une table particulière.

+0

Merci pour votre réponse. BTW, quels sont les inconvénients de la création d'un fichier séparé par table (le cas échéant)? Est-ce que je perds la performance? – Luixv

+0

Je ne peux pas penser à un inconvénient à l'utilisation de l'option innodb_file_per_table du haut de ma tête, sinon que cela va créer beaucoup plus de fichiers qui pourraient rendre leur gestion un peu plus difficile. Mais l'utilisation de l'option a certainement quelques avantages, comme la réduction de la fragmentation, la capacité de réduire les fichiers de table individuels et si vous avez un système de fichiers avec une limite de 2GB (très rare, ces jours) de tout. –

+0

Merci pour votre réponse. Je vous ai répondu "accepté" – Luixv

0

Une solution consiste à vider puis restaurer.

Questions connexes