Migration de donnes wamp mysql

Invité
Invité n'ayant pas de compte PHPfrance

02 mars 2010, 14:43

Bonjour a tous,

Je travaille en local sur un serveur wamp et j'ai du changer de pc pour quelques jours.
Avant de quitter mon pc initial, je souhaitais sauvegarder rapidement toutes mes bdd pour pouvoir continuer a travailler.

Sur mon ancienne install wamp, j'ai donc copie le dossier suivant
C:\wamp\bin\mysql\mysql5.0.45\data\monSite

Et j'ai pose tout ca sur ma nouvelle install wamp
C:\wamp\bin\mysql\mysql5.1.36\data\monSite

l'operation parfaitement fonctionne pour un des mes sites...pour un autre, phpmyadmin me dit qu'il y a 129 tables mais n'en affiche aucune. Ce deuxieme site n'est pas accessible depuis le navigateur, je recois des erreurs "tables non trouvees".

Savez vous ce aui ne va pas? comment expliquer que le transfert fonctionne pour un site et pas pour l'autre?
Merci pour vos reponses.

Invité
Invité n'ayant pas de compte PHPfrance

02 mars 2010, 14:52

Pour etre plus precis sur la bdd qui pose probleme:

Dans phpmyadmin,
Je peux voir a gauche dans la liste de selection des bdd:
maBdd (129)

ce qui veut dire que le base est bien reconnue et les tables sont vues.
Par contre quand je clique sur la bdd en question, j'ai:
"aucune table trouvee dans cette base"

Invité
Invité n'ayant pas de compte PHPfrance

02 mars 2010, 14:55

Voici egalement les erreurs affiches dans le navigateur quand je tente d'acceder au site:
Warning: Table 'golf.access' doesn't exist query: SELECT 1 FROM access WHERE type = 'host' AND LOWER('127.0.0.1') LIKE LOWER(mask) AND status = 0 LIMIT 0, 1 in C:\wamp\www\golf\includes\database.mysqli.inc on line 128

Warning: Table 'golf.cache' doesn't exist query: SELECT data, created, headers, expire, serialized FROM cache WHERE cid = 'variables' in C:\wamp\www\golf\includes\database.mysqli.inc on line 128

Warning: Table 'golf.variable' doesn't exist query: SELECT * FROM variable in C:\wamp\www\golf\includes\database.mysqli.inc on line 128

Notice: Undefined variable: variables in C:\wamp\www\golf\includes\bootstrap.inc on line 480

Warning: Table 'golf.cache' doesn't exist query: UPDATE cache SET data = '', created = 1267532857, expire = 0, headers = '', serialized = 0 WHERE cid = 'variables' in C:\wamp\www\golf\includes\database.mysqli.inc on line 128

Notice: Undefined variable: variables in C:\wamp\www\golf\includes\bootstrap.inc on line 487

Warning: Table 'golf.system' doesn't exist query: SELECT name, filename, throttle FROM system WHERE type = 'module' AND status = 1 AND bootstrap = 1 ORDER BY weight ASC, filename ASC in C:\wamp\www\golf\includes\database.mysqli.inc on line 128

Warning: Table 'golf.url_alias' doesn't exist query: SELECT COUNT(pid) FROM url_alias in C:\wamp\www\golf\includes\database.mysqli.inc on line 128

Invité
Invité n'ayant pas de compte PHPfrance

02 mars 2010, 15:20

Eventuellement, je peux essayer d'installer exactement la meme version de wamp sur mon pc ou ca ne marche pas...savez vous dans quel fichier de wamp je pourrais trouver la version exacte qui est utilisee?

J'ai regarde le fichier wampmanager.conf mais tout ce qu'on trouve, c'est: wampserverVersion = 2.0
Je ne sais pas si c'est 2.0.a, 2. 0.b...ou puis-je trouver dans les fichiers wamp le detail du numero de la version ?

Invité
Invité n'ayant pas de compte PHPfrance

02 mars 2010, 15:47

ok, je viens de refaire une install avec exactement les memes versions de wamp, php, apache et mysql mias toujours les memes erreurs, avec un site aui marche et pas l'autre...

Invité
Invité n'ayant pas de compte PHPfrance

02 mars 2010, 16:33

J'ai trouve: le site qui marche a des tables myisam. celui qui ne marche pas a des tables innodb.
savez vous s'il existe un moyen ou un utilitaire pour convertir du myisam en innodb?

Invité
Invité n'ayant pas de compte PHPfrance

02 mars 2010, 16:39

ou plutot l'inverse...

Invité
Invité n'ayant pas de compte PHPfrance

03 mars 2010, 11:08

whizzzzzzzzz...un vent glacial souffle sur la plaine silencieuse...

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

03 mars 2010, 11:27

En fait, de te voir arriver, et poster 5 messages en 1h, on a l'impression que tu n'as pas cherché, et que tu réfléchis dans ce post.
Du coup, en ce qui me concerne, j'avoue avoir attendu que tu finisses tes tests avant de me pencher sur ton soucis ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

03 mars 2010, 11:29

Donc, plutôt que de déplacer les fichiers de la base, je te conseille de passer par le module d'import/export de PHPMyAdmin, qui te générera les scripts SQL pour reconstruire ta base de données sur un autre serveur
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

03 mars 2010, 13:35

Bonjour,

Zeus t'a effectivement donné la meilleure solution.
Si tu n'as plus accès à ton PC initial, une possibilité qui devrait résoudre ton soucis est de réinstaller exactement la même version de MySQL que ton PC initial (5.0.45 si j'en crois ton 1er message)
Quand tout le reste a échoué, lisez le mode d'emploi...

ViPHP
ViPHP | 2287 Messages

04 mars 2010, 00:27

Donc, plutôt que de déplacer les fichiers de la base, je te conseille de passer par le module d'import/export de PHPMyAdmin, qui te générera les scripts SQL pour reconstruire ta base de données sur un autre serveur
On peut même ajouter, pour les autres lecteurs qu'il est fortement déconseillé de transférer des bases comme tu l'as fait, et en particulier sur deux versions majeures différentes de mysql, sous peine que plus rien du tout ne fonctionne... Evidemment pour ça il fallait lire le manuel avant d'agir. Maintenant que tu en connais les conséquences, tu t'en souviendras sans doute au prochain coup ;)

La méthode préconisée par zeus (passer par un dump SQL au format texte) est logique, et surtout c'est la seule méthode officiellement supportée par le logiciel pour effectuer une telle migration (5.0.x => 5.1.x). Cette règle vaut d'ailleurs pour beaucoup de logiciels, pas seulement MySQL.
if(!@work()){ Nespresso(); } else { what(); }
______________________________