HOME DIRECTORY ARTICLES SEARCH FORUMS HOSTING QUOTE CONTACT US
 
  
FRONTPAGE
 
Frontpage
 
Hosting











 
Hébergement












 SUPPORT US
Do you like the website? Is it useful? Please link to us!
Phwinfo.com, guide hébergement web

Hébergement Last Update: 22/04/2008 - 05:31:58 
Importer/Exporter des données avec MySQL
Jean-François Pillou
25/10/2004, 13:17
     
Rate
 (Ratings/Cotes: 4/5 - Votes: 18)



JF Pillou, administrateur du site CCM
Les Système de Gestion de Bases de Données tels que MySQL permettent de manipuler facilement et avec beaucoup de souplesse un très important volume de données.


Toutefois, aussi robuste soit MySQL, il peut être intéressant de récupérer l'ensemble des données que contient notre base de données, pour faire une sauvegarde (backup) ou bien tout simplement pour passer à une autre base de données. On appelle "exportation" le fait de formatter dans un fichier (appelé dump) toutes les informations nécessaires à la création d'une base de données identique.

A l'inverse, on appelle importation le fait de créer dans un SGBD une nouvelle base de données à 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 données MySQL

MySQL propose plusieurs façon d'exporter des données. La principale est la commande en ligne mysql permettant de réaliser à peu près n'importe quelle action sur les bases de données 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 représente le nom ou l'adresse IP de la machine sur laquelle la base de données que vous désirez exporter est installée. Par défaut il s'agit de localhost, c'est-à-dire la machine à partir de laquelle la commande mysql est lancée
  • user représente l'utilisateur avec lequel vous désirez vous connecter. Par défaut il s'agit de l'utilisateur root
  • password représente le mot de passe de l'utilisateur avec lequel vous désirez vous connecter. Si vous n'indiquez pas de mot de passe, celui-ci sera demandé de manière 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 données à exporter.
  • fichier_dump est le nom du fichier dans lequel la base va être exportée. Si aucun chemin absolu n'est précisé, le fichier sera stocké dans le même répertoire que la commande mysql. Attention de ne pas lui donner un nom d'un fichier existant dans ce répertoire !

Voici un exemple d'exportation de la base nommée utilisateurs située 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 données MySQL avec mysqldump 

La commande mysql permet d'exporter l'intégralité d'une base de données hébergée par MySQL de façon efficace mais n'offre pas la souplesse nécessaire à l'exportation de plusieurs bases de données ou au contraire d'une partie de la base de données (table ou partie d'une table). La commande mysqldump répond à ce besoin en offrant la possibilité de spécifier plus précisément les données à exporter. Voici la syntaxe de cette commande :

mysqldump [options] base_de_donnees [tables]

Voici les options généralement utilisées :

mysqldump -h host -u user

-ppass -ofichier base_de_donnees [tables]

  • host représente le nom ou l'adresse IP de la machine sur laquelle la base de données que vous désirez exporter est installée. Par défaut il s'agit de localhost, c'est-à-dire la machine à partir de laquelle la commande mysql est lancée
  • user représente l'utilisateur avec lequel vous désirez vous connecter. Par défaut il s'agit de l'utilisateur root
  • password représente le mot de passe de l'utilisateur avec lequel vous désirez vous connecter. Si vous n'indiquez pas de mot de passe, celui-ci sera demandé de manière 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 données à exporter.
  • fichier est le nom du fichier dans lequel la base va être exportée. Si aucun chemin absolu n'est précisé, le fichier sera stocké dans le même répertoire que la commande mysql.

Voici un exemple d'exportation des tables membres et invites de la base nommée utilisateurs située 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 précisément les données à exporter en donnant une condition SQL grâce 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 située après le commutateur -w doit être délimitée par des guillemets (doubles ou simples).


Importer une base de données sous MySQL 

La commande en ligne mysql permet également d'importer des données. 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


Au sujet de l'auteur:
Jean-François PILLOU est ingénieur au Ministère de l'Education Nationale Il est rIngénieur au Ministère de l'Education Nationale de France. Il est responsable de projets techniques impliquant l'utilisation des nouvelles technologies dans l'enseignement scolaire esponsable de projets techniques impliquant l'utilisation des nouvelles technologies dans l'enseignement scolaire.

4stars Articlerating

© 2003-2008   PHWinfo

Top

LATEST ARTICLES
Hébergement
Vendre en ligne en utilisant Google Adwords
By Mario Sanchez
27/11/2004, 14:32
M. Sanchez de Internet Digest.
Vendre en ligne avec un investissement minimum est maintenant possible. Merci aux réseaux affiliés, tel que Commission Junction ou Clickbank... Discussion


Importer/Exporter des données avec MySQL
By Jean-François Pillou
25/10/2004, 13:17
JF Pillou, administrateur du site CCM
Les Système de Gestion de Bases de Données tels que MySQL permettent de manipuler facilement et avec beaucoup de souplesse un très important volume de données. Discussion


Popularité et référencement
By Sebastien Billard
10/10/2004, 18:59
Sebastien Billard de Sumhit.
De nombreux webmasters persistent à croire que les meta tags sont essentiels à un bon référencement. Si cela a pu être vrai il y a quelques (lointaines) années... Discussion


Traduction en ligne
By Jocelsius
07/10/2004, 03:40
Jocelsius est administrateur chez PHW
Cet article présente des exemples d'utilisation d'outils de traduction en ligne (locale et à la volée). Comme demo, nous utiliserons les outils linguistiques de Google. Discussion


Les visiteurs sont des humains!
By Rosemarie Wise
05/10/2004, 05:24
R. Wise est admin de websiteowner
Je déteste préciser que c'est évident mais les visiteurs de votre site seront toujours des humains. Cela peut sembler être une déclaration étrange mais je sens que... Discussion


Copyright PHWinfo 2003-2008
IP 38.103.63.16