Extraire une seule base de données d'un fichier de backup de 4Go ...
Suite à quelques problèmes de gestion des restaurations j'ai pris l'habitude de configurer mes exports mysql de telle sorte que chaque base soit sauvegardée dans un fichier à part ... mais voilà ce soir je suis face à un fichier SQL de sauvegarde complète qui fait 4Go dont je ne veux extraire que quelques milliers de lignes correspondantes à une seule base de données !
La solution la plus rapide et efficace est proposée ici et elle consiste à utiliser sed pour extraire tout ce qui se trouve entre deux lignes de création de base de données en utilisant le nom de la base qu'on souhaite récupérer !
cat mysqldumped.sql | sed -n -e '/^CREATE DATABASE.*`the_database_you_want`/,/^CREATE DATABASE/ p' | sed -e '$d' > unebase.sql
À garder précieusement !