Flux rss
Bookmark Ajouter aux favoris / Partager

Importation et exportation

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 -rfichier 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

Importer une base de données avec phpMyAdmin

Pour importer une base avec phpMyAdmin, il suffit de faire un copier-coller du "dump" de MySQL dans le champ prévu pour saisir les requêtes ou bien de cliquer sur le bouton "parcourir" afin d'aller chercher le fichier contenant la copie de la base.

Dernière modification le mardi 14 octobre 2008 à 17:40:32.Ce document intitulé « Importer et exporter des données sous MySQL » issu de Comment Ça Marche (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 fixées par la licence, tant que cette note apparaît clairement.

Transformer une base de données Mysql en XML Bonjour, Je possède une base de données Mysql avec 6 tables et je recherche comment l'exporter en un fichier XML. Je débute en PHP et Mysql. J'ai pu voir plusieurs tuto sur Internet mais ils ne sont pas très bien expliqués pour un débutant. Merci de... www.commentcamarche.net/forum/affich-9650547-transformer-une-base-de-donnees-mysql-en-xml
[Debian] Mysql - importation de données Bonjour, je suis relativement débutant dans l'administration sous linux (le serveur tourne sous debian (c'est un serveur d'hébergement "virtualisé")) j'ai un problème lorsque je veut importer des données mysql à mes bases que j'ai créé.. j'utilise... www.commentcamarche.net/forum/affich-3064646-debian-mysql-importation-de-donnees
Sauvegarde restauration base de données Mysql L'article suivant va présenter la manière la plus facile pour sauvegarder et restaurer les bases de données Mysql. Sauvegarde Pour sauvegarder une base de données existante il est conseillé de créer un dump. Pour dumper toutes les bases de... www.commentcamarche.net/faq/sujet-17111-sauvegarde-restauration-base-de-donnees-mysql
[Outlook 2003] Exportation et importation de donnéesIl est possible d'exporter toutes les données personnelles (contacts, e-mails, calendrier, etc...), à condition de le paramétrer à l'exportation (voir ci-dessous). Exportation ou sauvegarde Importation ou restauration A voir... www.commentcamarche.net/faq/sujet-723-outlook-2003-exportation-et-importation-de-donnees
Import / export de données IngresIngres permet d'exporter les données d'une installation Ingres vers une autre (quels que soient l'OS cible ou source) par les commandes : unloaddb copydb Ce qui change entre ces 2 commandes c'est leur périmètre : unloaddb concerne tous... www.commentcamarche.net/faq/sujet-5470-import-export-de-donnees-ingres
Thunderbird import/export mailsBonjour, je dois reformater mon pc, et je souhaiterais récupérer dans mozilla thunderbird tous mes mails (envoyés et reçus) ainsi que les carnets d'adresses sur mes 2 sessions. j'ai cherché l'option importer/exporter (comme sur outlook), mais je n'ai... www.commentcamarche.net/forum/affich-3755425-thunderbird-import-export-mails
Excel - code VBA pour import de données (Résolu)Bonjour, J'ai fais une macro qui importe des données sur une feuille Excel. J'ai enregistré ma feuille excel dans un dossier, et la feuille de données dans le même dossier. Y a t il un moyen que ma macro fonctionne toujours si je bouge mon dossier de... www.commentcamarche.net/forum/affich-3433194-excel-code-vba-pour-import-de-donnees
Télécharger FB ImportFB Import est tout simplement un puissant outil d'importation de données des bases telles que : Text, Paradox, dBase, Excel, Word, Access, Lotus 123, XML, HTML, ADO, DBISAM, Clarion, Advantage database, SPSS, Windows ClipBoard, Window Adress Book et... www.commentcamarche.net/telecharger/telecharger-34058324-fb-import
Administration de MySQLLa base de données mysql 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... www.commentcamarche.net/contents/mysql/mysqladmin.php3