[Résolu] [MySQL] Contenu du répertoire data

Contenu du répertoire data [Résolu] [MySQL] - SQL/NoSQL - Programmation

Marsh Posté le 14-12-2006 à 09:46:27    

Salut,
 
Le disque sur lequel est installé MySQL commence à être saturé. Après étude rapide, j'ai constaté que le répertoire data était rempli de fichiers ***-bin.xxx où *** est mon prénom (je ne sais pas où il a chopé ça mais ce n'est pas un login de la base, me semble-t-il) et xxx est un nombre écrit sur 6 chiffres. Rien que ces fichiers, ça prend 13 Go :/
 
Mes bases étant bien à l'abri dans les répertoires dédiés, je me demande à quoi servent ces fichiers (d'après ce que j'ai pu voir, ils contiennent des scripts sql) et si je peux les supprimer pour faire un peu de place... et surtout comment... Puis-je le faire, à la bourrin, depuis l'explorateur Windows, ou y a-t-il une commande qui fasse ça proprement ?
 
Merci d'avance :jap:


Message édité par Mario_ le 14-12-2006 à 11:42:49

---------------
Soyons ouverts d'esprit, mais pas au point de laisser notre cerveau s'enfuir.
Reply

Marsh Posté le 14-12-2006 à 09:46:27   

Reply

Marsh Posté le 14-12-2006 à 11:20:39    

ça serait pas des fichiers qui stockent les transactions effectuées. Tes BD sont en InnoDB?

Reply

Marsh Posté le 14-12-2006 à 11:27:15    

C'est le type des tables qui constituent mes bases ?
Généralement, elles sont en MyISAM (juste quelques tables en InnoDB mais très récentes, je pense que les fichiers datent d'avant).


---------------
Soyons ouverts d'esprit, mais pas au point de laisser notre cerveau s'enfuir.
Reply

Marsh Posté le 14-12-2006 à 11:42:21    

Bon, mon supérieur m'a dit que je pouvais les supprimer à la sauvage sans état d'âme (en prenant soin d'éteindre le serveur MySQL au préalable). C'est donc ce que j'ai fait :d
A priori, ça ne choque pas mon appli qui attaque la base ni phpMyAdmin (ceci dit, en 5 minutes, j'ai pas trop le temps d'être sûr).
Malgré tout, si quelqu'un a une contre-indication pour qu'à l'avenir je ne réitère pas, je suis tout ouïe :jap:
 
En attendant, je considère le problème résolu :)


---------------
Soyons ouverts d'esprit, mais pas au point de laisser notre cerveau s'enfuir.
Reply

Marsh Posté le 14-12-2006 à 11:49:19    

Perso, j'ai jamais vu ce genre de fichiers "bizarres", alors je ne vais aps pouvoir t'aider plus. Désolé.
T'as regardé sur google?

Reply

Marsh Posté le 14-12-2006 à 12:05:34    

Rien trouvé sur Google (j'ai pas cherché des heures non plus mais rien en une dizaine de minutes) :/
Je me demande s'ils ne sont pas apparus lorsque j'ai modifié la version de mysql en copiant-collant le contenu du zip (je suis sous Wamp), ceci afin de conserver mes bases.
Si il y a un souci, j'en assumerai les conséquences en me retirant définitivement de la vie informatique [:dao]
 
Merci de ton aide ;)


---------------
Soyons ouverts d'esprit, mais pas au point de laisser notre cerveau s'enfuir.
Reply

Marsh Posté le 14-12-2006 à 12:08:24    

t'as essayé de les ouvrir ces fichiers? Parce que c'est peut-être des log (du texte)

Reply

Marsh Posté le 14-12-2006 à 15:46:03    

J'ai testé sur quelques petits (en fait, ça allait de 1ko à 1Go et quelques) et c'était du code SQL entrecoupé de caractères spéciaux.
Je pense que c'était donc une sorte de log :spamafote:


---------------
Soyons ouverts d'esprit, mais pas au point de laisser notre cerveau s'enfuir.
Reply

Marsh Posté le 14-12-2006 à 16:11:08    

non, je pense que ce sont des transactions pour InnoDB.

Reply

Marsh Posté le 14-12-2006 à 16:50:14    

Et c'est grave si je les ai enlevées :??:

 

(je suis toujours en train de bosser sur une appli qui attaque la base, aucun souci)

 

edit : tiens il m'a recréé un fichier en question... C'est bien des requêtes effectuées sur la base, avec quelques caractères spéciaux.


Message édité par Mario_ le 14-12-2006 à 16:51:49

---------------
Soyons ouverts d'esprit, mais pas au point de laisser notre cerveau s'enfuir.
Reply

Marsh Posté le 14-12-2006 à 16:50:14   

Reply

Marsh Posté le 14-12-2006 à 17:44:00    

si tu sais ce que sont les transactions en BD, tu dois comprendre l'impact. Tu peux plus faire de rollback si t'as supprimé ces fichiers. Si tu n'as pas besoin des transactions, que tu es en auto-commit, tu peux peut-être rester un MyIsam...
Par contre, si t'es pas en auto-commit et que dans le code de test applis, tu oublies de faire un commit après des transactions, ca peut expliquer que tes fichiers grossissent...

Reply

Marsh Posté le 14-12-2006 à 17:53:05    

La table sur laquelle j'ai fait les requêtes qui se trouvent dans le fichier en question est en MyISAM donc en fait, c'est même pas certain que ça soit un fichier de transactions (mais j'avoue que je ne suis pas tout à fait connaisseur au niveau des transactions, donc c'est si j'ai bien compris le principe).
Et puis je dirais qu'en effet, on est en auto-commit, j'ai jamais repéré un commit dans le code... Vu les requêtes en question, je pense que je m'en serais rendu compte si 13Go de requêtes s'étaient perdues dans la nature :d


---------------
Soyons ouverts d'esprit, mais pas au point de laisser notre cerveau s'enfuir.
Reply

Marsh Posté le 14-12-2006 à 18:32:08    

Mario_ a écrit :

La table sur laquelle j'ai fait les requêtes qui se trouvent dans le fichier en question est en MyISAM donc en fait, c'est même pas certain que ça soit un fichier de transactions (mais j'avoue que je ne suis pas tout à fait connaisseur au niveau des transactions, donc c'est si j'ai bien compris le principe).
Et puis je dirais qu'en effet, on est en auto-commit, j'ai jamais repéré un commit dans le code... Vu les requêtes en question, je pense que je m'en serais rendu compte si 13Go de requêtes s'étaient perdues dans la nature :d


 
si t'es pas en auto-commit, je ne pense pas que tu vas perdre test données, mais elles ne vont pas être retirées du fichier tampon (qui garde les transactions pour le cas où tu voudrais faire un rollback) tant que tu n'auras pas fait un commit pour valider une transaction... Donc le fichier tampon se met à grossir, grossir...

Reply

Marsh Posté le 14-12-2006 à 19:15:48    

Ah ben ça expliquerait bien des choses en effet [:canaille]
Je suis pas encore au point sur le sujet des transactions mais je trouve ça géré bizarrement quand même sous MySql (au moins vu sous l'angle des fichiers dont il était question ici... à moins que j'ai pas tout compris, donc...).

 

En tout cas merci de ces renseignements :jap:


Message édité par Mario_ le 14-12-2006 à 19:16:03

---------------
Soyons ouverts d'esprit, mais pas au point de laisser notre cerveau s'enfuir.
Reply

Marsh Posté le 15-12-2006 à 11:40:09    

Rien à voir avec les transactions, c'est le binary log : http://dev.mysql.com/doc/refman/4.1/en/binary-log.html

Reply

Marsh Posté le 15-12-2006 à 11:58:27    

Citations du site http://dev.mysql.com/doc/refman/5.0/fr/binary-log.html
 

Citation :


Le log binaire contient toutes les informations du log de modifications, dans un format plus efficace, et compatible avec les transactions.
....
Un fichier de log binaire peut être plus grand que max_binlog_size si vous utilisez de grandes transactions : une transaction est écrite dans le log binaire d'un seul coup, et n'est jamais répartie entre plusieurs fichiers.
...
Les modifications dans les tables non transactionnelles sont enregistrées dans le fichier de log binaire immédiatement après exécution. Pour les tables transactionnelles comme BDB ou InnoDB, toutes les modifications (UPDATE, DELETE ou INSERT) qui modifient les tables sont mises en cache jusqu'à ce qu'une commande COMMIT ne les envoie au serveur. A ce moment, mysqld écrit la totalité de la transaction dans le log binaire, avant d'appliquer la commande COMMIT.


 
Ca a donc bien à voir avec les transactions. :o


Message édité par rufo le 15-12-2006 à 11:59:00
Reply

Marsh Posté le 15-12-2006 à 15:03:17    

Les instructions SQL sont écrites dans ces fichiers pour pouvoir les rejouer (très bien pour les sauvegardes incrémentales notamment) ;)
 
Donc oui il a les transactions dedans :o
 
Mais le fonctionnement des transactions ne s'appuie sur ces fichiers ;)

Reply

Marsh Posté le 17-12-2006 à 18:40:05    

En tout cas, au final, je n'ai pas mal fait de virer ces fichiers qui encombraient plus que de raison mon disque dur.
Par contre, ça peut être intéressant de savoir qu'ils existent, merci de ces infos :jap:


---------------
Soyons ouverts d'esprit, mais pas au point de laisser notre cerveau s'enfuir.
Reply

Marsh Posté le 18-12-2006 à 08:42:11    

Par contre si tu n'en n'as pas usage, faut changer la configuration de démarrage de MySQL pour pas qu'il fasse ces logs ;)

Reply

Marsh Posté le 18-12-2006 à 16:26:45    

C'est vrai que ça serait de bon aloi :d
Thanx :jap:


---------------
Soyons ouverts d'esprit, mais pas au point de laisser notre cerveau s'enfuir.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed