Dump routine etc after dumping database and not on each table

This commit is contained in:
Dryusdan 2020-02-15 12:59:22 +01:00
parent c37867b473
commit c3048ad1af

View file

@ -100,8 +100,9 @@ do
mkdir -p ${FOLDER}/{schemas,datas}/${dbname}
info "Dumping ${dbname} schema"
mysqldump --user=${USERNAME} --password=${PASSWORD} --host=${HOST} --port=${PORT} --no-data ${dbname} | gzip > ${FOLDER}/databases/${dbname}.sql.gz
info "Dumping ${tablename}'s events, routines, triggers of ${dbname}"
mysqldump --user=${USERNAME} --password=${PASSWORD} --host=${HOST} --port=${PORT} --no-data --no-create-info --routines --triggers --events ${dbname} ${tablename} | gzip > ${FOLDER}/extras/${dbname}.sql.gz
info "Know engine of database"
## If all tables use InnoDB engine, we use --single-transaction
## Also, if one or more table use MyISAM engine, we need lock all tables
if mysql --user=${USERNAME} --password=${PASSWORD} --host=${HOST} --port=${PORT} -N -e "select engine from information_schema.tables where table_schema = '${dbname}'" | grep "MyISAM" -q;
@ -113,8 +114,6 @@ do
do
info "Dumping ${tablename}'s schema of ${dbname}"
mysqldump --user=${USERNAME} --password=${PASSWORD} --host=${HOST} --port=${PORT} --no-data --add-drop-table ${dbname} ${tablename} | sed 's/ AUTO_INCREMENT=[0-9]*\b//g' | gzip > ${FOLDER}/schemas/${dbname}/${tablename}.sql.gz
info "Dumping ${tablename}'s events, routines, triggers of ${dbname}"
mysqldump --user=${USERNAME} --password=${PASSWORD} --host=${HOST} --port=${PORT} --no-data --no-create-info --routines --triggers --events ${dbname} ${tablename} | gzip > ${FOLDER}/extras/${dbname}.sql.gz
info "Dumping ${tablename}'s data of ${dbname}"
mysqldump --user=${USERNAME} --password=${PASSWORD} --host=${HOST} --port=${PORT} --no-create-info --extended-insert=FALSE ${dbname} ${tablename} | gzip > ${FOLDER}/datas/${dbname}/${tablename}.sql.gz
done
@ -125,8 +124,6 @@ do
do
info "Dumping ${tablename}'s schema of ${dbname}"
mysqldump --user=${USERNAME} --password=${PASSWORD} --host=${HOST} --port=${PORT} --no-data --add-drop-table ${dbname} ${tablename} | sed 's/ AUTO_INCREMENT=[0-9]*\b//g' | gzip > ${FOLDER}/schemas/${dbname}/${tablename}.sql.gz
info "Dumping ${tablename}'s events, routines, triggers of ${dbname}"
mysqldump --user=${USERNAME} --password=${PASSWORD} --host=${HOST} --port=${PORT} --no-data --no-create-info --routines --triggers --events ${dbname} ${tablename} | sed 's/ AUTO_INCREMENT=[0-9]*\b//g' | gzip > ${FOLDER}/extras/${dbname}.sql.gz
info "Dumping ${tablename}'s data of ${dbname}"
mysqldump --user=${USERNAME} --password=${PASSWORD} --host=${HOST} --port=${PORT} --no-create-info --single-transaction --extended-insert=FALSE ${dbname} ${tablename} | gzip > ${FOLDER}/datas/${dbname}/${tablename}.sql.gz
done