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