Si nunca te has encontrado con la necesidad de hacer un mysqldump de un conjunto de tablas y no de toda la base de datos, el script siguiente facilita el trabajo:


#!/bin/bash

if [ $# -lt 5 ]; then
echo "Exports data from mysql database in tables matching a like pattern e.g. 'table_%'"
echo "Usage: $0 dbname dbuser dbpass pattern outputfile"
exit 1
fi

DBNAME=$1
DBUSER=$2
DBPASS=$3
PATTERN=$4
OUTPUTFILE=$5

TABLES=( `mysql -u$DBUSER -p$DBPASS $DBNAME --silent -e "show tables like '$PATTERN'"` )

for TABLE in "${TABLES[@]}"; do
mysqldump -u$DBUSER -p$DBPASS $DBNAME $TABLE >> $OUTPUTFILE
done


 

El script permite hacer un mysqldump de las tablas que responden a un patron en concreto. Por ejemplo, para hacer un mysqldump de todas la tablas de la base de dades 'basedatos' que empiezan por 'sales' hay que ejecutar:


./mysqldump_bypattern.sh basedatos usuario password sales% fichero_de_salida.dump

 

El script se puede descargar aquí.