Export MySQL rapide par bases

Vous avez un didactiel ou une astuce particulière concernant un logiciel, partagez votre expérience dans cette partie.
Avatar de l’utilisateur
le Manchot Masqué
Administrateur du site
Messages : 353
Inscription : lun. 26 mai 2008, 21:05
Distribution : Debian, Ubuntu
Niveau : Moitié plein !
Localisation : Guebwiller

Export MySQL rapide par bases

Message par le Manchot Masqué » mer. 26 juil. 2017, 23:59

Ce qui suit est une proposition de script d'exportation, utile à ceux qui manipulent beaucoup de bases MySQL(/MariaDB), et qui veulent rapidement les sauvegarder dans un dossier (ici sql/).

A adapter évidemment selon votre configuration, vos besoins, et les aspects de sécurité propres à votre environnement (utiliser root chez les puristes, c'est le mal absolu...).

Code : Tout sélectionner

# cat mysql.dump.each.database.sh 
#!/bin/bash

PATH=$PATH:/usr/bin
NOW=$(date +'%Y%m%d_%H%M%S')
DST="sql/"

echo "Entrez le mot de passe de root pour exporter vos bases :";
read password

mysql -u root --password=${password} -B -e 'show databases' > databases.list.txt

echo "Liste des bases présentes sur le serveur :"
cat databases.list.txt

for i in $(cat databases.list.txt); do
	if [ "$i" != "Database" ] && [ "$i" != "mysql" ] && [ "$i" != "information_schema" ] && [ "$i" != "performance_schema" ] && [ "$i" != "sys" ] && [ "$i" != "phpmyadmin" ]; then
		mysqldump --default-character-set=utf8 -u root --password=${password} "${i}" > "${DST}/${i}.${NOW}.mysql";
	fi
done

Répondre