Vous êtes sur la page 1sur 3

Importer et exporter des donnes sous

MySQL
Juin 2014
Importation et exportation
Les Systme de Gestion de Bases de Donnes tels que MySQL permettent de manipuler
facilement et avec beaucoup de souplesse un trs important volume de donnes. Toutefois,
aussi robuste soit MySQL, il peut tre intressant de rcuprer l'ensemble des donnes que
contient notre base de donnes, pour faire une sauvegarde (backup) ou bien tout simplement
pour passer une autre base de donnes. On appelle "exportation" le fait de formatter dans un
fichier (appel dump) toutes les informations ncessaires la cration d'une base de donnes
identique.
A l'inverse, on appelle importation le fait de crer dans un SGBD une nouvelle base de donnes
partir d'un fichier d'exportation (dump).
MySQL offre un certain nombre d'outils permettant d'exporter ses bases vers d'autres SGBD ou
bien de les importer.
Exporter une base de donnes MySQL
MySQL propose plusieurs faon d'exporter des donnes. La principale est la commande en ligne
mysql permettant de raliser peu prs n'importe quelle action sur les bases de donnes qu'elle
contient partir d'une simple ligne de commande :
mysql -h host -u user -ppass base_de_donnees > fichier_dump
La notation suivante est galement possible :
mysql --host host --user user
--passwordpass base_de_donnees > fichier_dump
host reprsente le nom ou l'adresse IP de la machine sur laquelle la base de donnes que
vous dsirez exporter est installe. Par dfaut il s'agit de localhost, c'est--dire la machine
partir de laquelle la commande mysql est lance
user reprsente l'utilisateur avec lequel vous dsirez vous connecter. Par dfaut il s'agit de
l'utilisateur root
password reprsente le mot de passe de l'utilisateur avec lequel vous dsirez vous
connecter. Si vous n'indiquez pas de mot de passe, celui-ci sera demand de manire
interactive. Il ne doit pas y avoir d'espace entre -p et le mot de passe fourni, contrairement
aux autres champs
base_de_donnees est le nom de la base de donnes exporter.
fichier_dump est le nom du fichier dans lequel la base va tre exporte. Si aucun chemin
absolu n'est prcis, le fichier sera stock dans le mme rpertoire que la commande
mysql. Attention de ne pas lui donner un nom d'un fichier existant dans ce rpertoire !
Voici un exemple d'exportation de la base nomme utilisateurs situe sur la machine
db.commentcamarche.com et appartenant l'utilisateur admin (dont le mot de passe est
KinderSurprise) :
mysql -h db.commentcamarche.net -u admin
-pKinderSurprise utilisateurs > utilisateurs.sql
Exporter une base de donnes MySQL avec mysqldump
La commande mysql permet d'exporter l'intgralit d'une base de donnes hberge par MySQL
de faon efficace mais n'offre pas la souplesse ncessaire l'exportation de plusieurs bases de
donnes ou au contraire d'une partie de la base de donnes (table ou partie d'une table). La
commande mysqldump rpond ce besoin en offrant la possibilit de spcifier plus prcisment
les donnes exporter. Voici la syntaxe de cette commande :
mysqldump [options] base_de_donnees [tables]
Voici les options gnralement utilises :
mysqldump -h host -u user
-ppass -rfichier base_de_donnees [tables]
host reprsente le nom ou l'adresse IP de la machine sur laquelle la base de donnes que
vous dsirez exporter est installe. Par dfaut il s'agit de localhost, c'est--dire la machine
partir de laquelle la commande mysql est lance
user reprsente l'utilisateur avec lequel vous dsirez vous connecter. Par dfaut il s'agit de
l'utilisateur root
password reprsente le mot de passe de l'utilisateur avec lequel vous dsirez vous
connecter. Si vous n'indiquez pas de mot de passe, celui-ci sera demand de manire
interactive. Il ne doit pas y avoir d'espace entre -p et le mot de passe fourni
base_de_donnees est le nom de la base de donnes exporter.
fichier est le nom du fichier dans lequel la base va tre exporte. Si aucun chemin absolu
n'est prcis, le fichier sera stock dans le mme rpertoire que la commande mysql.
Voici un exemple d'exportation des tables membres et invites de la base nomme utilisateurs
situe sur la machine db.commentcamarche.com et appartenant l'utilisateur admin (dont le mot
de passe est KinderSurprise) :
mysqldump -h db.commentcamarche.net -u admin
-pKinderSurprise -outilisateurs.sql utilisateurs membres invites
Il est possible d'affiner encore plus prcisment les donnes exporter en donnant une
condition SQL grce au commutateur -w (--where, ici "WHERE id > 4000") :
mysqldump -h db.commentcamarche.net -u admin
-pKinderSurprise -outilisateurs.sql -w "id>4000" utilisateurs membres invites
La commande SQL situe aprs le commutateur -w doit tre dlimite par des guillemets
(doubles ou simples).
Importer une base de donnes sous MySQL
La commande en ligne mysql permet galement d'importer des donnes. Il suffit pour cela
d'utiliser la redirection < et d'indiquer le fichier dump contenant les instructions SQL importer :
mysql -h host -u user -ppass base_de_donnees < fichier_dump
La notation suivante est, une fois de plus, galement possible :
mysql --host host --user user
-passwordpass base_de_donnees < fichier_dump
Importer une base de donnes avec phpMyAdmin
Pour importer une base avec phpMyAdmin, il suffit de faire un copier-coller du "dump" de MySQL
dans le champ prvu pour saisir les requtes ou bien de cliquer sur le bouton "parcourir" afin
d'aller chercher le fichier contenant la copie de la base.
Ce document intitul Importer et exporter des donnes sous MySQL issu de CommentCaMarche
(www.commentcamarche.net) est mis disposition sous les termes de la licence Creative Commons. Vous pouvez
copier, modifier des copies de cette page, dans les conditions fixes par la licence, tant que cette note apparat
clairement.