Exporter en ligne de commande avec mysqldump

Pour faire des backups ou pour déplacer une base de donnée, l’outil mysqldump est très utile. Nous allons donc voir comment l’utiliser depuis votre terminal.

Installation de mysqldump

Pour commencer il faut installer mysqldump comme ceci sous Linux :

sudo apt-get install mysqldump

Exporter des données depuis MySQL

Il existe plusieurs méthodes pour exporter des données suivant ce que l’ont souhaite sauvegarder et il y a quelques options très utiles comme nous allons le voir.

Exporter une base de données complète

Pour exporter la base de donnée « maBase », utilisez la commande :

mysqldump -u root -p maBase > maBase_backup.sql

Ceci fera l’export dans un fichier « maBase_backup.sql ».

Exporter une table dans une base de données

Pour exporter une table (par exemple ma_table ) appartenant à une base des données (par exemple maBase) :

mysqldump -u root -p maBase ma_table > ma_table.sql

Ainsi nous aurons une exportation seulement de la table ma_table sans toucher à d’autres tables de la base des données « maBase ».

Exporter toutes les bases de données du serveur

Pour exporter toutes les bases de données il faut utiliser la commande suivante :

mysqldump -u root -p --all-databases --single-transaction > dump.sql

Le paramètre –single-transaction permet d’exporter les bases de données en InnoDB en minimisant les blocages (cas d’une dump à chaud).

Exporter des données encodé en UTF-8

Lors de l’exportation de vos bases il faut impérativement ajouter l’option –default-character-set=utf8 si vos données sont encodé en UTF8.

Compatibilité avec les vieilles versions de MySQL

Lorsque vous exportez les données d’une base de données MySQL très ancienne (version 4) mettez l’option –compatible=mysql40 pour éviter des problèmes de compatibilité avec les bases de données plus récentes.

mysqldump -u root -p --all-databases --compatible=mysql40 > dump.sql

Importation des données dans MySQL

Pour importer une base de données ou une sauvegarde sur « maBase », utilisez la commande :

mysql -u root -p maBase < maBase_backup.sql

Le paramètre -u précise l’utilisateur avec lequel on veut se connecter et -p signifie qu’il faut un mot de passe pour se connecter avec cet utilisateur.

 

8 commentaires sur “Exporter en ligne de commande avec mysqldump”

  1. Bonjour
    Je suis surpris de voir que quelqu’un parle que ce n’est que pour Linux, non ces lignes de commande fonctionne aussi sous windaub.

  2. Bon tuto
    et pour Eugene oui il n’y a pas que Linux , mais sous windows il existe déjà bon nombres de tuto et mème de logiciels fesant la même chose

  3. Vous auriez dû mettre dans le titre qu’il s’agit de Linux! Sur Windows ce n’est pas pareille, et il n’y a pas que Linux dans ce monde.

  4. Merci à Romain pour ses précieux conseils pour ré-importer les données d’une base volumineuse (23Mo) (suite à un crash)et écrite sous OpenOffice 4.1.1 et exportée et sauvegardée en .sql via xampp.
    Vous me forwardez un message si vous êtes dans mon cas et si vous rencontrez des petits pb

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.