Page 1 sur 1

Export MySQL rapide par bases

Publié : mer. 26 juil. 2017, 23:59
par le Manchot Masqué
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