El 16 de diciembre de 2011, respondí a la pregunta ¿Cómo mysqldump tablas específicas?
Recopilé todas las tablas sin incluir un cierto conjunto de nombres de tablas.
Utilizando los mismos principios, podría haber recopilado todos los nombres de bases de datos de la tabla de metadatos information_schema.schemata
que desea mysqldump'd, crear una consulta para devolver esa lista, luego usar esa lista de bases de datos para formular el comando mysqldump.
DATABASES_TO_EXCLUDE="db1 db2 db3"
EXCLUSION_LIST="'information_schema','mysql'"
for DB in `echo "${DATABASES_TO_EXCLUDE}"`
do
EXCLUSION_LIST="${EXCLUSION_LIST},'${DB}'"
done
SQLSTMT="SELECT schema_name FROM information_schema.schemata"
SQLSTMT="${SQLSTMT} WHERE schema_name NOT IN (${EXCLUSION_LIST})"
MYSQLDUMP_DATABASES="--databases"
for DB in `mysql -ANe"${SQLSTMT}"`
do
MYSQLDUMP_DATABASES="${MYSQLDUMP_DATABASES} ${DB}"
done
MYSQLDUMP_OPTIONS="--routines --triggers"
mysqldump ${MYSQLDUMP_OPTIONS} ${MYSQLDUMP_DATABASES} > MySQLDatabases.sql
Todo lo que necesita hacer es poner las bases de datos en las que no desea mysqldump'd DATABASES_TO_EXCLUDE
Darle una oportunidad !!!
information_schema
que de todos modos no se está volcando.mysqldump does not dump the INFORMATION_SCHEMA or performance_schema database by default. To dump either of these, name it explicitly on the command line and also use the --skip-lock-tables option. You can also name them with the --databases option. Before MySQL 5.5 mysqldump silently ignores INFORMATION_SCHEMA even if you name it explicitly on the command line.
dev.mysql.com/doc/refman/5.5/en/mysqldump.html