Restaurer le répertoire "data" de MySQL

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Restaurer le répertoire "data" de MySQL

par chrislabricole » 04 juil. 2009, 01:35

Bon, je m'en sors finalement avec un export de la base avec le préfixe, une suppression du couple utilisateur/base, et sa recréation puis son import...

Je sais pas ci cela résout réellement le problème, je ne sais même pas si vraiment un problème :P

Je vous tiens au courant en cas de nouvelle, je mets quand même [Résolu] :)

Merci de votre aide :)

par chrislabricole » 26 juin 2009, 15:02

J'ai mis la variable default-storage-engine à MYISAM, ça ne change rien ;)

Dans mes deux my.ini, il n'y a pas de variable innodb_data_home_dir. et d'après ce que tu me dis et la doc, je n'ai pas trop compris à quoi elle sert et comment s'en servir :?

Merci de ton aide ! :)

par mojorisin » 26 juin 2009, 14:12

Je pense que c'est du au fichier my.ini :
Vérifier la variable default-storage-engine si INNODB essaies de la changer pour MYISAM.

Pour tes base pausant problème, est-ce que les talbes étaient en innodb ?
Si c'est le cas vérifie la configuration pour innodb dans le my.ini notamment pour innodb_data_home_dir entre le nouveau et le my.ini de ton ancien serveur afin de copier également ces données au bon endroit.

http://dev.mysql.com/doc/refman/5.0/fr/ ... ation.html

par chrislabricole » 26 juin 2009, 13:53

Ah ! On avance ! :)

Je sais pas se qu'il avait de différent mon fichier my.ini, je l'ai tout simplement remplacé ... (En conservant l'ancien au cas où ...)

Donc maintenant, mon serveur démarre avec mes bases :)
Reste un problème :
le fameux préfixe #mysql50# à quelque bases ...

Parmi mes bases où ce préfixe y est, il y en 3 qui sont crées mais vides de tables, j'ai essayé de radicalement d'en supprimer une (Base + Utilisateur associé), mais la base en question ne veut pas partir ! C'est bizarre ! (Je précise que j'ai tous les droits pour effectuer ça)

J'ai fais un "Recharger les privilèges" aussi :
Erreur
FLUSH PRIVILEGES ;
MySQL a répondu:Documentation
#1146 - Table 'mysql.servers' doesn't exist
:roll:

Voilà, j'ai aussi essayé le mysql_fix_privilege_tables, mais apparemment, ça ne résout rien :? Ou alors c'est moi qui m'y prends mal :P

Merci beaucoup ! :)

par mojorisin » 26 juin 2009, 12:58

Bonjour,

Quelques pistes :
Mauvaise variable dans my.ini : Essaie de renommer le fichier my.ini et de redémarrer ton service, si il redémarre c'est que cela vient de ça il te reste plus qu'a identifier la ligne genante en recréant un fichier vierge et en passsant progressivement les variables de ta sauvegarde vers le nouveau fichier de conf.

Les tables des droits sont peut-etre corrompues : http://dev.mysql.com/doc/refman/5.0/fr/ ... ables.html

Est-ce que les bases de données que tu as référencé comme #mysql50# dans ton post initiale sont en innodb ? (si tu t'en souviens ) cela vient peut être de fichiers corrompu ou alors de mauvais chemin dans le my.ini ce qui rejoindrais alors le point plus haut.

Regarde la dernière ligne dans data\mysql.err, qui t'indiquera peut-etre plus en détail la cause de l'erreur en démarant le serveur en standalone plutot qu'en service avec la ligne de commande et les options --standalone puis si ça ne fonctionne toujours pas --standalone --skip-innodb

Bonne chance :)

par chrislabricole » 26 juin 2009, 12:17

A ce moment là qu'est ce qui t'a empêché de copier ?
Rien ne m'empêche de copier purement et simplement le répertoire data avec mes bases, à la place de celui de la nouvelle installation. (En éteignant le serveur)
Mais si je fais ça, le serveur ne se rallume plus du tout ...
C:\Documents and Settings\Administrateur>net start mysql5
Le service MySQL5 démarre.
Le service MySQL5 n'a pas pu être lancé.

Une erreur système s'est produite.

L'erreur système 1067 s'est produite.

Le processus s'est arrêté inopinément.
Sinon, le plus propre reste le dump des bases en réalité.
Est-ce possible de faire un dump sur un ancien répertoire data ?

En fait, je suis con, j'ai oublié la question la plus importante : Ce sont bien sur les mêmes versions de mysql que tu travailles ?
Justement ! Je n'arrive pas à la savoir !
En fait, pour être plus précis, sur ce nouveau ordinateur, j'ai le disque dur de mon ancien ordi, donc j'ai accès à son ancienne installation, ses fichiers .exe etc... :
- Impossible de démarrer le serveur via ses anciens fichiers (A cause du registre je suppose... Mais bon, c'est normal :P )
- Impossible de savoir sa version, puisque ses fichiers .exe n'indiquent pas la version, contrairement à de nombreux programmes qui l'indiquent via un simple "Clique droit > Propriétés" :?

Merci de ton aide :)

par Sékiltoyai » 26 juin 2009, 02:21

A ce moment là qu'est ce qui t'a empêché de copier ?

Sinon, le plus propre reste le dump des bases en réalité.

En fait, je suis con, j'ai oublié la question la plus importante : Ce sont bien sur les mêmes versions de mysql que tu travailles ?

par chrislabricole » 26 juin 2009, 00:04

J'éteins toujours mon serveur à chaque fois que je fais une manipulation de ce genre, sinon j'obtiens une jolie erreur windows me signalant que le fichier est en cours d'utilisation par un processus ;)

par Sékiltoyai » 25 juin 2009, 23:59

Essaye de recopier en éteignant le serveur MySQL maintenant.

par chrislabricole » 25 juin 2009, 23:26

Oui, bien sûr :)

par Sékiltoyai » 25 juin 2009, 23:04

On va éviter de faire du moche. Tu as toujours ton répertoire original ?

Restaurer le répertoire "data" de MySQL

par chrislabricole » 25 juin 2009, 14:39

Bonjour tout le monde :)

J'ai un nouvel ordinateur, j'ai donc réinstaller Apache (2), PHP (5.2.10), et MySQL (5.1.35-community), et il se trouve qu'il y avait plein de problèmes: Du genre Apache plantait dès qu'il entré en contact avec PHP, sans laisser de message d'erreur, etc, etc ...

J'ai enfin réussi à résoudre la plupart des problèmes concernant les liens entre Apache-PHP-MySQL, mais il en reste un qui me résiste ! :? :

La restauration des Bases/Utilisateurs de MySQL (dernière version stable).
Les Bases et Utilisateurs (?) de MySQL sont stockés dans le répertoire data, que j'ai toujours choisi de mettre dans son propre répertoire d'installation.
Je pensais qu'un simple remplacement de ce répertoire par celui qui contient toute mes bases aurait du suffire. Et bien non, pas vraiment apparemment, puisque je me retrouve, dans phpMyAdmin, avec toute mes bases, mais :
- Quelques unes sous la forme :
#mysql50#NOMDEMABASE
(Ce qui est en gras est indésirable)

- D'autre affichent le bon nombre de tables entre parenthèses, mais lorsqu'on clique dessus, plus aucune tables ...
- Et enfin, d'autre marchent parfaitement.


Voilà le problème, je signale également que lorsque j'ai copier/coller mon vrai répertoire data, je n'ai pas pu copier les fichiers suivants :
- Christophe.err
- ib_logfile0
- ib_logfile1
- ibdata1
J'ai donc laissé les originaux, sinon MySQL ne démarrait carrément plus...
Et je suppose que c'est dans ces fichiers que sont inscrits les utilisateurs/Mots de passe, structures des bases/tables, liens etc ...

Comment faire ?
Il y a t-il une méthode bien précise pour restaurer son répertoire data sans dégâts ?

Merci de votre aide ! :)