Chapitre 11 : Exportation et importation de
données MySQL
L'exportation et l'importation de données sont des opérations essentielles dans la gestion des
bases de données, permettant de transférer des données d'une instance MySQL à une autre, de
sauvegarder des données ou de restaurer des informations. Ce chapitre aborde les différentes
méthodes pour effectuer ces tâches.
IV. Importation et exportation de données à l'aide de
commandes SQL
1. Exportation de données
Pour exporter des données d'une table vers un fichier, on utilise la commande SELECT INTO
OUTFILE. Cela permet de créer un fichier texte (CSV, TSV, etc.) contenant les données de la
table.
Exemple :
SELECT * FROM utilisateurs
INTO OUTFILE '/tmp/[Link]'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';
Dans cet exemple, toutes les données de la table utilisateurs sont exportées dans un fichier
CSV situé dans le répertoire /tmp.
2. Importation de données
Pour importer des données à partir d'un fichier, on utilise la commande LOAD DATA INFILE.
Cela permet de charger les données d'un fichier dans une table.
Exemple :
LOAD DATA INFILE '/tmp/[Link]'
INTO TABLE utilisateurs
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';
Cette commande charge les données du fichier [Link] dans la table
utilisateurs.
V. Utilisation des outils mysqldump et mysqlimport
1. mysqldump
mysqldump est un outil en ligne de commande utilisé pour créer des sauvegardes de bases de
données. Il exporte une base de données ou une table sous forme de script SQL, qui peut être
utilisé pour restaurer les données.
Exemple de sauvegarde :
Pour sauvegarder une base de données nommée ma_base :
mysqldump -u utilisateur -p ma_base > ma_base.sql
Cette commande crée un fichier ma_base.sql contenant toutes les instructions nécessaires
pour recréer la base de données.
Exemple de sauvegarde d'une table spécifique :
Pour sauvegarder uniquement la table utilisateurs :
mysqldump -u utilisateur -p ma_base utilisateurs > [Link]
2. mysqlimport
mysqlimport est un autre outil en ligne de commande qui permet d'importer des fichiers de
données dans des tables MySQL. Il est particulièrement utile pour importer des fichiers au
format texte.
Exemple d'importation :
Pour importer un fichier CSV dans la table utilisateurs :
mysqlimport --local -u utilisateur -p --fields-terminated-by=',' ma_base
[Link]
Cette commande charge les données du fichier [Link] dans la table
utilisateurs de la base de données ma_base.
VI. Sauvegarde et restauration de bases de données
La sauvegarde et la restauration des bases de données sont des opérations critiques pour
garantir la sécurité des données et la continuité des services.
1. Sauvegarde d'une base de données
Utiliser mysqldump pour sauvegarder une base de données est une méthode courante. Il est
recommandé de planifier des sauvegardes régulières, surtout pour les bases de données
critiques.
Exemple de commande :
mysqldump -u utilisateur -p --databases ma_base > ma_base_backup.sql
Cette commande sauvegarde tous les objets de la base de données ma_base dans le fichier
ma_base_backup.sql.
2. Restauration d'une base de données
Pour restaurer une base de données à partir d'un fichier de sauvegarde, utilisez la commande
mysql.
Exemple de restauration :
mysql -u utilisateur -p ma_base < ma_base_backup.sql
Cette commande restaure la base de données ma_base à partir du fichier de sauvegarde
ma_base_backup.sql.
3. Stratégies de sauvegarde
Il est conseillé d'utiliser différentes stratégies de sauvegarde :
Sauvegardes complètes : Sauvegardent toutes les données de la base de données à
intervalles réguliers.
Sauvegardes différentielles : Sauvegardent uniquement les données qui ont changé
depuis la dernière sauvegarde complète.
Sauvegardes incrémentielles : Sauvegardent les données qui ont changé depuis la
dernière sauvegarde (qu'elle soit complète ou incrémentielle).