Ibdata1 ne se vide pas quand on supprime une table

Messages postés
327
Date d'inscription
mardi 8 octobre 2002
Statut
Membre
Dernière intervention
6 octobre 2010
- - Dernière réponse : RaidCobra
Messages postés
4
Date d'inscription
mercredi 15 janvier 2003
Statut
Membre
Dernière intervention
8 octobre 2010
- 8 oct. 2010 à 11:30
Bonjour,


J'ai fait un programme en VB6 qui tourne avec MySQL 5 innodb (mysql essential pour windows)


Je viens de me rendre compte que lorsque j'effacais une table, les données correspondantes n'etaient pas effacées du fichier ibdata1


Donc, ce fichier peut tres vite prendre une place ennorme alors qu'il y a tres peu d'informations dans la base


Comment purger ce fichier (données qui existent encore alors qu'elle ne sont lié a aucune table) ?


 Comment faire pour supprimer une table ainsi que les données qui lui sont associés dans le fichier ibdata1 ?


Merci


 
Afficher la suite 
A voir également:

8 réponses

Messages postés
2
Date d'inscription
mercredi 9 novembre 2005
Statut
Membre
Dernière intervention
8 novembre 2007
0
Merci
Idem, j'ai le même souci. Si quelqu'un sais comment faire, ca serai cool.
Commenter la réponse de famak
Messages postés
36
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
7 octobre 2010
0
Merci
Bonjour,

Moi aussi j'ai le même soucie, si quelqu'un a trouvé une solution svp de me la donnée.

J'ai un serveur virtuelle sur le quel j'ai installé nagios, glpi, OCS et centreon..., actuellement mon ibdata1 a comme taille 31.5go ce qui fait qu'il a saturé mon disc dure...

Machine ubunto
> la méthode que j'ai use est la suivante, j'ai copié mon serveur virtuelle dans un autre emplacement pour que je puisse faire des test... j'ai arrêté mysql puis j'ai changer l'utilisateur du fichier ibdata1 (mysql ---> vers l'administrateur) puis changer les droits sur ce fichier puis j'ai supprimé le fichier... par la suite j'ai installer mysql dans une machine windows copie le fichier ibdata1 depuis windows le coller sur ubunto par la suite j'ai redémarrer mysql de ubunto... et là ça fonctionne :p

mais c'est pas une methode que j'aime... y'a t'il autre astuce.

Merci.

Ro_Ot-m@n \M/
Commenter la réponse de othmane1950
Messages postés
4
Date d'inscription
mercredi 15 janvier 2003
Statut
Membre
Dernière intervention
8 octobre 2010
0
Merci
Salut,

À ma connaissance pour obtenir le résultat que tu souhaites avec une base InnoDB il n'y a qu'une solution, supprimer la base et la recharger.

- tu fais un dump de ta base,
- tu stoppes ton serveur MySQL
- tu supprimes les fichiers de ta base (le fameux ibdata1 et les fichiers de log qui l'accompagnent)
- tu réinstalles la base par défaut (ça va te recréer ibdata1 et fichier log)
- tu relances le serveur MySQL
- tu importes ta base (le fichier sauvegarder lors du dump)
- tu redémarres ton serveur MySQL.


Bon courage



CobrHaking
Commenter la réponse de RaidCobra
Messages postés
327
Date d'inscription
mardi 8 octobre 2002
Statut
Membre
Dernière intervention
6 octobre 2010
0
Merci
C'est ce que je fais egalement.
MySQL est tres fiable, mais pas pratique

>MySQLDump fonctionne mal sur les tres grosses bases avec des mémos
>Pour vider une base, il faut tout arreter, supprimer les fichiers ...

Bref, je prefere utiliser HyperFile maintenant
Commenter la réponse de cs_globule
Messages postés
36
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
7 octobre 2010
0
Merci
c'est bien vrai... c'est la solution proposé dans la doc ubuntu... mais le soucie actuellement c'est que j'ai plus d'espace dans mon serveur (à un point que même la session admin n'arrive pas à se charger... donc le seul moyen est de passer par le mode console...
j'ai lancé la commande de sqldump pour la sauvgarde à distance mais du moment que le port de mysql est fermé il y'a pas de moyen de faire cette sauvegarde
(mysqldump -u user -pPassWord --all-databases -h IPServer > Masauvegarde.sql)
j'ai essayé d'ouvrir le port de mysql pour que je puisse faire la sauvegarde mais toujours le problème d'espace qui empêche l'ouverture du port...
(il n'y'a que firfox que je peux supprimer pour gagner de l'espace chose fait sans aucun changement... c'est pour cela que je demande s'il y'a un autre moyen pour résoudre mon problème?

PS : dans mon précédant msg j'ai dis que ça fonctionne mais après vérification il n'y'a que la base de donnée de GLPI qui marche les autres base ont été endommagé... donc pas de chance...

Ro_Ot-m@n \w/
Commenter la réponse de othmane1950
Messages postés
4
Date d'inscription
mercredi 15 janvier 2003
Statut
Membre
Dernière intervention
8 octobre 2010
0
Merci
as-tu essayé de faire un dump partiel (base par base voir table par table pour une grosse base) ?

CobrHaking
Commenter la réponse de RaidCobra
Messages postés
36
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
7 octobre 2010
0
Merci
salut

En fait pour faire une sauvegarde dans le serveur c'est pas possible, j'ai plus d'espace même pour créer une fichier vide...
pour la sauvegarde a distance je ne peux pas non plus car le port est fermer (celui de mysql qui me permet par la suite de faire la sauvegarde...) pour le débloquer il faut de l'espace aussi coter serveur :s:s

Ro_Ot-m@n
Commenter la réponse de othmane1950
Messages postés
4
Date d'inscription
mercredi 15 janvier 2003
Statut
Membre
Dernière intervention
8 octobre 2010
0
Merci
si tu as la main sur le serveur, monte un fs sur un ordinateur distant (le tien pourquoi pas) ou un nas quelconque, et fais ta sauvegarde dessus.
tu peux aussi gagner un peu de place en supprimant les fichiers logs (télécharges les si tu veux garder les traces)


CobrHaking
Commenter la réponse de RaidCobra