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