Transférer des bases des données MySQL WAMP server

Chaque changement d’ordinateur(ou simplement mise à jour de Wamp server) pose le même problème à tout développeur qui se respecte : comment vais-je transférer rapidement les bases des données de mon serveur MySQL en localhost (et sans les perdre) ?
En théorie il suffit d’exporter chaque base des données (via PHPmyAdmin par exemple), et de la ré-importer (toujours via PHPmyAdmin)… En pratique c’est un peu plus compliqué que cela lorsque :
- vous avez oublié de l’exporter au format .sql (ou n’avez pas pu)
- vous avez des dizaines et des dizaines de bases des données…
Nous partons de l’hypothèse que vous travaillez en local avec l’excellent petit serveur WAMP server
La première étape avant export consiste éteindre tous les services associés au serveur sur l’ordinateur de départ : clic GAUCHE sur l’icône de Wamp serveur, en bas à droite de votre écran (à côté de l’horloge) > « Arrêter les services »
Seconde étape : récupérer les fichiers dans lesquels sont stockés vos bases des données. Ils se trouvent dans le dossier MySQL > data sur votre disque dur.
En pratique, recherchez l’emplacement d’installation de Wamp Serveur (par défaut il vous proposera de l’installer sur la racine de Windows C:/wamp/), et une fois là, affichez :
C:\wamp\bin\mysql\mysqlx.x.xx\data\, où « mysqx.x.xx » indique la version de la précédente base de données MySQL installée.
Dans ce dossier « data » vous allez retrouver un certain nombre de dossiers, dont beaucoup vous seront familiers : ce sont les noms des bases des données installées dans PHPmyAdmin
Copiez directement les dossier et tout leur contenu dans le dossier data de votre nouvelle installation de WAMP. Il n’est pas nécessaire de copier les bases de
données installées par WAMP par défaut, à savoir : « mysql », « performance_schema » et « test » : ne gardez que les dossiers portant les noms des bases que vous avez créées.
Vous pouvez maintenant redémarrer les services de Wamp sur le nouvel ordinateur : clic GAUCHE sur l’icône de Wamp serveur en bas à droite de votre écran (à côté de l’horloge) > « Démarrer les services »
Heureux, vous redémarrez alors votre page de phpmyadmin
Et là… patatrac ! Les noms des bases apparaissent mais elles sont… vides
Il vous reste en effet un dernier fichier à transférer…
Ré-éteignez les services de Wamp…
Retournez dans le dossier data de votre ancien serveur (ou sur l’ordinateur de départ) :
C:\wamp\bin\mysql\mysqlx.x.xx\data\
Un fichier (parfois lourd) nommé « ibdata1″ doit s’y trouver. Copiez‐le et remplacez le fichier « ibdata1 » de l’ordinateur de destination.
Enfin, redémarrez les services de WAMP.
Puis allez dans PHPmyAdmin et vérifiez que vos bases ont bien été restaurées. Dans le cas contraire (c’est parfois un petit peu plus compliqué que cela, en particulier s’il y a des conflits de versions entre PHP / Apache et MySQL, voire des bases MyISAM et InnoDB mélangées…) … il ne vous reste plus qu’un transfert manuel base par base via l’outil « exporter / importer » !
En cas de changement de version MySQL :
Si l’accès à la console est bon, vous pouvez tenter de :
‐ quitter Wamp server (ou fermer les services)
‐ modifier le fichier ../wamp/bin/mysql/mysqlx.x.xx/my.ini, pour y mettre l ligne datadir qui pointe sur le dossier data du nouvel emplacement.
Par exemple :
datadir= »C:/wamp/bin/mysql/mysqlx.y.zz/data »
Sauvegarder le fichier modifié et redémarrer les services de Wamp.
Il faut zipper une base aussi importante, avant de l’exporter…
Malheureusement ça ne marche pas et en plus j’ai des BD qui pèsent plus d’1 Go impossibles à transférer car trop lourdes.
Je dois les fractionner par tranches de 100 Mo et passer 24 heures d’affilées pour les importer.
C’est beau l’informatique…
C’est plus simple de copier coller le dossier nommé data et le tour est joué.
merci
C’est beaucoup plus simple : vous exportez votre base des données xxx.sql depuis phpMyAdmin (utilisez la fonction « exporter ») et vous lui donnez une clé USB avec la base + le dossier dans lequel i y aura tous les fichiers du site que vous avez commencé à développer.
Bonjour,
Dois-je procéder de la même façon si j’ai commencé à créer mon site seule en local et que je veux transmettre les infos à un développeur pour qu’il le termine ?
Merci
Salut,
merci beaucoup pour ton tuto très pratique, et simple à mettre en œuvre. Après une réinstallation Windows, j’ai pu transférer mes sites en local et surtout mes bases de données.
https://dev.mysql.com/doc/refman/5.7/en/upgrading-from-previous-series.html
Bonjour;
Joli tuto bien présenté.
Mais justement le » C’est parfois un petit peu plus compliqué que cela » qui cause problème.
Quelqu’un à la solution pour une migration de sql 5.6 vers 5.7 !?