Ibdata1 ne se vide pas quand on supprime une table

cs_globule Messages postés 327 Date d'inscription mardi 8 octobre 2002 Statut Membre Dernière intervention 6 octobre 2010 - 16 avril 2007 à 13:54
RaidCobra Messages postés 3 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


 

8 réponses

famak Messages postés 2 Date d'inscription mercredi 9 novembre 2005 Statut Membre Dernière intervention 8 novembre 2007
8 nov. 2007 à 08:57
Idem, j'ai le même souci. Si quelqu'un sais comment faire, ca serai cool.
0
othmane1950 Messages postés 33 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 7 octobre 2010
1 oct. 2010 à 19:41
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/
0
RaidCobra Messages postés 3 Date d'inscription mercredi 15 janvier 2003 Statut Membre Dernière intervention 8 octobre 2010
6 oct. 2010 à 11:52
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
0
cs_globule Messages postés 327 Date d'inscription mardi 8 octobre 2002 Statut Membre Dernière intervention 6 octobre 2010
6 oct. 2010 à 12:23
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
othmane1950 Messages postés 33 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 7 octobre 2010
7 oct. 2010 à 10:27
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/
0
RaidCobra Messages postés 3 Date d'inscription mercredi 15 janvier 2003 Statut Membre Dernière intervention 8 octobre 2010
7 oct. 2010 à 16:03
as-tu essayé de faire un dump partiel (base par base voir table par table pour une grosse base) ?

CobrHaking
0
othmane1950 Messages postés 33 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 7 octobre 2010
7 oct. 2010 à 20:29
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
0
RaidCobra Messages postés 3 Date d'inscription mercredi 15 janvier 2003 Statut Membre Dernière intervention 8 octobre 2010
8 oct. 2010 à 11:30
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
0
Rejoignez-nous