Export MySQL rapide par bases
Publié : 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...).
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