2025-06-12

Working with databases


Export all databases to separate files

$ mysql -N -e 'show databases' | while read dbname; do mysqldump --complete-insert --routines --triggers --single-transaction "$dbname" > "$dbname".sql; done

Importert all databases from files

You need to create the databases first. Copy the file names and make a little script which creates them in one go.

CREATE DATABASE IF NOT EXISTS customer_a;
CREATE DATABASE IF NOT EXISTS customer_b;
CREATE DATABASE IF NOT EXISTS customer_c;
CREATE DATABASE IF NOT EXISTS customer_d;
CREATE DATABASE IF NOT EXISTS customer_e;
...
$ for sql in *.sql; do dbname=${sql/\.sql/}; echo -n "Now importing $dbname ... "; mysql $dbname < $sql; echo " done."; done

Resources