Abaixo segue um script para exportar todos os bancos do mysql, ele lista os bancos e faz um dump de cada banco em um arquivo diferente.
#!/bin/bash
USER="root"
PASSWORD="yourpassword"
#OUTPUT="/backup/mysql"
#rm "$OUTPUTDIR/*gz" > /dev/null 2>&1
databases=`mysql -u $USER -p$PASSWORD -e "SHOW DATABASES;" | tr -d "| " | grep -v Database`
for db in $databases; do
if [[ "$db" != "information_schema" ]] && [[ "$db" != "performance_schema" ]] && [[ "$db" != "mysql" ]] && [[ "$db" != _* ]] ; then
echo "Dumping database: $db"
mysqldump -u $USER -p$PASSWORD --databases $db > `date +%Y%m%d`.$db.sql
# gzip $OUTPUT/`date +%Y%m%d`.$db.sql
fi
done
O script irá gerar um arquivo dump para cada banco.
Para importar um banco, é necessário criar ele e depois importar.
mysql -u root -p nomedobanco < nomedobanco.sql
Comando para exportar por dump todos os bancos do mysql em um arquivo só:
mysqldump -uroot -p --all-databases --skip-lock-tables > alldb.sql
Para importar todos os bancos contidos no mesmo arquivo:
mysql -u root -p < alldb.sql
