Ce document est une sorte de mémo, présentant quelques commandes utiles MySQL qui pourraient vous aider dans le processus de Sauvegarde ou de Restauration d'une base de données MySQL en Ligne de Commandes. Dans ce document, il vous sera montré comment sauvegarder une ou plusieurs bases de données, comment sauvegarder une ou plusieurs tables d'une base de données, comment restaurer une ou plusieurs bases de données, comment exporter les données en CSV, etc.
MySQL : Sauvegarde et Restauration - Quelques Commandes Utiles
1. MySQL : Quelques Commandes de Sauvegarde et Restauration – Pape M. SONKO
MYSQL : SAUVEGARDE - RESTAURATION PAPE M. SONKO, INGENIEUR SYSTEMES ET RESEAUX
1
QUELQUES COMMANDES DE SAUVEGARDE ET DE RESTAURATION AVEC MySQL
SOMMAIRE
I. SAUVEGARDE SANS COMPRESSION
I.1 Sauvegarde de bases de données
I.1.1 Sauvegarde d'une base de données avec ses données
I.1.2 Sauvegarde de plusieurs bases de données avec leurs données
I.1.3 Sauvegarde de toutes les bases de données avec leurs données
I.1.4 Sauvegarde avec une condition de sauvegarde
I.2 Sauvegarde de tables
I.2.1 Sauvegarde d'une table spécifique
I.2.2 Sauvegarde de plusieurs tables
II. SAUVEGARDE AVEC COMPRESSION
II.1 Compression de la Sauvegarde
III. SAUVEGARDE SANS LES DONNEES
III.1 Sauvegarde de la structure de la base sans les données
IV. RESTAURATION DES DONNEES
IV.1 Restauration d'une base de données spécifique
IV.1.2 Restauration de toutes les bases de données
V. EXPORTATION DE DONNEES AU FORMAT CSV
V.1 Exportation de données au format CSV
2. MySQL : Quelques Commandes de Sauvegarde et Restauration – Pape M. SONKO
MYSQL : SAUVEGARDE - RESTAURATION PAPE M. SONKO, INGENIEUR SYSTEMES ET RESEAUX
2
I. SAUVEGARDE SANS COMPRESSION
I.1 SAUVEGARDE DE BASES DE DONNEES
I.1.1 Sauvegarde d'une base de données avec ses données
# Sauvegarde de la base de données avec "mysqldump"
# (Se déconnecter de la console MySQL avant d'exécuter la commande)
# (opt) est une option de mysqldump qui lance la commande avec une série de paramètres,
# qui font que la commande s'effectue très rapidement.
# NB : /home/msc/ = répertoire de sauvegarde, DB1 = nom de la base de données à exporter.
mysqldump -u root -p - -opt DB1 > /home/msc/DB1.sql;
I.1.2 Sauvegarde de plusieurs bases de données avec leurs données
# Sauvegarde de plusieurs bases de données (Ici : DB1 et DB2)
# NB : DB1 et DB2 = noms des bases de données à exporter, Sauvegarde-DBs.sql = nom de la sauvegarde.
mysqldump -uroot -p - -databases DB1 DB2 > Sauvegarde-DBs.sql;
I.1.3 Sauvegarde de toutes les bases de données avec leurs données
# Sauvegarde de toutes les bases de données avec l’option -A ou --all-databases
# (Point Methode: mysqldump - -help or man mysqldump)
# NB : fichier-destination.sql = nom de la sauvegarde contenant toutes les bases de données.
mysqldump -uroot -p -A > fichier-destination.sql
I.1.4 Sauvegarde avec une condition de sauvegarde
# Sauvegarde avec une condition de sauvegarde (clause WHERE).
# NB : ma-table = nom de la table à sauvegarder, ma-table-filtree.sql = nom de la sauvegarde.
mysqldump -uroot -p DB1 - -tables ma-table - -where="date_anniv > '2019-01-01' " > /home/msc/ma-table-
filtree.sql
3. MySQL : Quelques Commandes de Sauvegarde et Restauration – Pape M. SONKO
MYSQL : SAUVEGARDE - RESTAURATION PAPE M. SONKO, INGENIEUR SYSTEMES ET RESEAUX
3
I.2 SAUVEGARDE DE TABLES
I.2.1 Sauvegarde d'une table spécifique
# Sauvegarde d'une table précise
# NB : DB1 = nom de la base de données, nom-table = nom de la table à sauvegarder,
# sauvegarde-table.sql = nom de la sauvegarde.
mysqldump -uroot -p - -databases DB1 - -tables nom-table > /home/msc/sauvegarde-table.sql
I.2.2 Sauvegarde de plusieurs tables
# Sauvegarde de plusieurs tables (Ici, nom-table1 et nom-table2)
# NB : DB1 = nom de la base de données, nom-table1 et nom-table2 = noms des tables à sauvegarder,
# sauvegarde.sql = nom de la sauvegarde.
mysqldump -uroot -p - -databases DB1 - -tables nom-table1 nom-table2 > /home/msc/sauvegarde.sql
II. SAUVEGARDE AVEC COMPRESSION
II.1 COMPRESSION DE LA SAUVEGARDE
# Sauvegarde et compression de toutes les bases avec GZIP
# NB : /home/msc/ = répertoire de sauvegarde,
# fichier-sauvegarde.sql.gz = nom de la sauvegarde compressée.
mysqldump -uroot -p --all-databases | gzip > /home/msc/fichier-sauvegarde.sql.gz
III. SAUVEGARDE SANS LES DONNEES
III.1 Sauvegarde de la structure de la base sans les données
# Sauvegarde de la structure de la base sans les données.
# Sans l'option "- -no-data" , mysqldump sauvegarde la base et ses données.
# NB : /home/msc/ = répertoire de sauvegarde, DB1 = nom de la base de données,
# DB1.sql = fichier de sauvegarde
mysqldump - -no-data -uroot -p DB1 > /home/msc/DB1.sql
4. MySQL : Quelques Commandes de Sauvegarde et Restauration – Pape M. SONKO
MYSQL : SAUVEGARDE - RESTAURATION PAPE M. SONKO, INGENIEUR SYSTEMES ET RESEAUX
4
IV RESTAURATION DES DONNEES
IV.1 Restauration d'une base de données spécifique
# Restauration de la base de données spécifique (DB1).
# La base de données DB1 sera créée au préalable afin de faire la restauration.
# DB1 = nom de la base qui va recevoir notre sauvegarde, DB1.sql = nom de la sauvegarde.
mysql -u root -p DB1 < DB1.sql
IV.1.2 Restauration de toutes les bases de données
# Restauration de toutes les bases de données de notre sauvegarde (fichier-source.sql)
# fichier-source.sql = fichier de sauvegarde contenant toutes les bases de données.
mysql -uroot -p < fichier-source.sql
V EXPORTATION AU FORMAT CSV
V.1 Exportation de données au format CSV
INTO OUTFILE '/home/msc/mon-fichier.csv' : # Fichier de destination (/home/msc/mon-fichier.csv)
FIELDS TERMINATED BY ';' : # Séparateur des éléments ( Point-virgule " ; " )
ENCLOSED BY ' " ' : # Symbole délimitant les éléments (Guillemets " )
LINES TERMINATED BY 'rn' : # Indique que chaque élément se terminé par un saut de lignes "rn"
FROM nom-table WHERE date-commande = '2017-01-17 10:30:00 ': # La table cible et la condition
SELECT *
INTO OUTFILE '/home/msc/mon-fichier.csv' FIELDS TERMINATED BY ';' ENCLOSED BY '"'
LINES TERMINATED BY 'rn'
FROM nom-table
WHERE date-commande = '2017-01-17 10:30:00';
5. MySQL : Quelques Commandes de Sauvegarde et Restauration – Pape M. SONKO
MYSQL : SAUVEGARDE - RESTAURATION PAPE M. SONKO, INGENIEUR SYSTEMES ET RESEAUX
5
Durant l’exportation, si vous obtenez l’erreur suivante :
"The MySQL server is running with the - -secure-file-priv option so it cannot execute this statement"
Faire:
Solution 1 :
# mysql > SHOW VARIABLES LIKE ‘secure_file_priv’;
# Mettre son fichier de sauvegarde dans le répertoire indiquée dans la colonne Value du ‘secure_file_priv’.
Solution 2 :
# Désactiver ‘secure-file-priv’, il doit être défini au démarrage et ne peut pas être modifié dynamiquement.
# Pour cela, vérifier les paramètres de démarrage de MySQL (dépend de la plateforme / OS)
# et du fichier my.ini / mysqld.cnf .
En Savoir plus sur l’Auteur