MYSQL : Extraire dump mysql dans des fichiers individuels

Suite à l’article d’hier concernant l’extraction d’une base données depuis un dump MYSQL.

Ce soir, j’ai fait une recherche pour faire une extraction des tables mysql contenues dans un dump mysql puis enregistrer dans un fichier individuel.

La recherche ne fut pas très longue puisque kedar avait réaliser, il y a quelques années, un script qui remplissait cette fonction.

Voici la marche à suivre si vous souhaitez utiliser ce script.

Tout d’abord, on le télécharge :

wget http://kedar.nitty-witty.com/blog/wp-content/uploads/2010/02/mysqldumpsplitter.sh.txt

Puis on renomme le fichier comme ceci :

sudo mv mysqldumpsplitter.sh.txt mysqldumpsplitter.sh

On met le droit d’execution :

chmod +x mysqldumpsplitter.sh

Si on lance le script directement sans argument voici le résultat :

sudo ./mysqldumpsplitter.sh

mydumpsplitter

mydumpsplitter

Dans le cas présent, j’ai lancé la commande ci-dessous pour extraire les différentes tables du dump de la base d’hier que j’avais extrait du dump « général ».

sudo ./mysqldumpsplitter.sh nom-de-la-base.sql

Résultat :

Toutes les tables de ma base de données dans des fichiers individuels histoire de facilité la restauration de ce qui nous intéresse vraiment.

MySQL : extraire une base d’un Dump

Si vous souhaitez extraire une base de données d’un DUMP MySQL, rien de plus simple.

sed -n ‘/^– Current Database: `nom-de-la-base`/,/^– Current Database: `/p’ dump-mysql.sql > nom-de-la-base.sql

Si vous souhaitez faire une restauration d’une base de données depuis un Dump MySQL sur un serveur :

mysql> mysql -u root -p –one-database nom-de-la-base < dump-mysql.sql