Dump MySQL : quelques opérations intéressantes

  • Extraire une table depuis un dump complet
  • Corriger le charset d’une colonne après un dump

Extraire une table depuis un dump complet

Nous allons utiliser awk pour cela. Sous Windows, sachez que awk est accessible depuis une interface cygwin.

Dans un premier temps, il faut lister toutes les tables présentes dans le fichier dump, pour en connaître l’ordre :

cat nom_du_fichier_dump.sql | grep 'Table structure for table' > table_list

En connaissant la table suivante, vous pouvez extraire la définition et les données de la table à extraire :

awk '/Table structure for table `nom_table`/,/Table structure for table `nom_table_suivante`/{print}' \
    nom_du_fichier_dump.sql > nom_table_export.sql

Corriger le charset d’une colonne après un dump

Si après le dump de votre table, vous vous retrouvez avec des accents perdus (exemple é au lieu de é), une astuce consiste à convertir la colonne en binaire et la reconvertir en utf-8 (merci stackoverflow):

alter table descriptions modify name VARCHAR(2000) character set latin1;
alter table descriptions modify name blob;
alter table descriptions modify name VARCHAR(2000) character set utf8;

Tous vos caractères spéciaux réapparaissent comme par magie.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *