Contenu du répertoire data [Résolu] [MySQL] - SQL/NoSQL - Programmation
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?
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).
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
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
En attendant, je considère le problème résolu
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?
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
Merci de ton aide
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)
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
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.
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...
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
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). |
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...
Marsh Posté le 14-12-2006 à 19:15:48
Ah ben ça expliquerait bien des choses en effet
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
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
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 : |
Ca a donc bien à voir avec les transactions.
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
Mais le fonctionnement des transactions ne s'appuie sur ces fichiers
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
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
Marsh Posté le 18-12-2006 à 16:26:45
C'est vrai que ça serait de bon aloi
Thanx
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
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.