mysqldump_except_some_databases
#! /bin/bash
MYSQL_USER=root
MYSQL_PASS=pass
MYSQL_CONN=" --user=${MYSQL_USER} --pass=${MYSQL_PASS}"
#
# Collect all database names except for
# mysql, information_schema, and performance_schema
#
SQL="SELECT schema_name FROM information_schema.schemata WHERE"
SQL="${SQL} schema_name NOT IN ('mysql','information_schema','performance_schema','common_schema')"
DBLISTFILE=/tmp/DatabasesToDump.txt
mysql ${MYSQL_CONN} -ANe"${SQL}" > ${DBLISTFILE}
DBLIST=""
for DB in `cat ${DBLISTFILE}`
do
DBLIST="${DBLIST} ${DB}"
done
echo $DBLIST
MYSQLDUMP_OPTIONS="--routines --triggers --single-transaction"
mysqldump ${MYSQL_CONN} ${MYSQLDUMP_OPTIONS} --databases ${DBLIST} > all-dbs.sql