MariaDB - Méthodes de chargement de sauvegarde

Dans ce chapitre, nous découvrirons les différentes méthodes de chargement de sauvegarde. La restauration d'une base de données à partir d'une sauvegarde est un processus simple et parfois terriblement long.

Il existe trois options pour charger des données: l'instruction LOAD DATA, mysqlimport et une simple restauration mysqldump.

Utilisation de LOAD DATA

L'instruction LOAD DATA fonctionne comme un chargeur en bloc. Passez en revue un exemple de son utilisation qui charge un fichier texte -

mysql> LOAD DATA LOCAL INFILE 'products_copy.txt' INTO TABLE empty_tbl;

Notez les qualités suivantes d'une instruction LOAD DATA -

  • Utilisez le mot clé LOCAL pour empêcher MariaDB d'effectuer une recherche approfondie de l'hôte et utilisez un chemin très spécifique.

  • L'instruction suppose un format composé de lignes terminées par des sauts de ligne (retours à la ligne) et des valeurs de données séparées par des tabulations.

  • Utilisez la clause FIELDS pour spécifier explicitement la mise en forme des champs sur une ligne. Utilisez la clause LINES pour spécifier la fin de la ligne. Consultez un exemple ci-dessous.

mysql> LOAD DATA LOCAL INFILE 'products_copy.txt' INTO TABLE empty_tbl
   FIELDS TERMINATED BY '|'
   LINES TERMINATED BY '\n';
  • L'instruction suppose que les colonnes du fichier de données utilisent le même ordre de la table. Si vous devez définir un ordre différent, vous pouvez charger le fichier comme suit -

mysql> LOAD DATA LOCAL INFILE 'products_copy.txt' INTO TABLE empty_tbl (c, b, a);

Utilisation de MYSQLIMPORT

L'outil mysqlimport agit comme un wrapper LOAD DATA permettant les mêmes opérations depuis la ligne de commande.

Chargez les données comme suit -

$ mysqlimport -u root -p --local database_name source_file.txt

Spécifiez le formatage comme suit -

$ mysqlimport -u root -p --local --fields-terminated-by="|" \
   --lines-terminated-by="\n" database_name source_file.txt

Utilisez le --columns option pour spécifier l'ordre des colonnes -

$ mysqlimport -u root -p --local --columns=c,b,a \
   database_name source_file.txt

Utilisation de MYSQLDUMP

Restaurer avec mysqldump nécessite cette simple instruction pour charger le fichier de vidage dans l'hôte -

shell> mysql database_name < source_file.sql

CARACTÈRES SPÉCIAUX ET CITATIONS

Dans une instruction LOAD DATA, les guillemets et les caractères spéciaux peuvent ne pas être interprétés correctement. L'instruction suppose des valeurs sans guillemets et traite les contre-obliques comme des caractères d'échappement. Utilisez la clause FIELDS pour spécifier la mise en forme. Pointez sur les guillemets avec «ENCLOSED BY», ce qui entraîne la suppression des guillemets des valeurs de données. Remplacez les échappements par "ESCAPED BY".