Extract one database from mysql/mariadb full dump

Save this script into an sh file:

#!/usr/bin/env bash

DBNAME=$1
INFILE=$2

SED_FILTER="/^-- Current Database: \`$DBNAME\`/,/^-- Current Database: /p"

sed -n "$SED_FILTER" $INFILE > $DBNAME.sql

echo "Dump is ready: $DBNAME.sql"

exit 0


Run as :

$ sh script_name dbname full_dump_file

If you want to avoid problems during foreign key imports, then insert this line into the newly generated file after the USE <DBNAME>; statement:

SET FOREIGN_KEY_CHECKS=0;
Fekete Zoltán Thu, 07/26/2018 - 13:51
List foreign keys of a referenced table in mysql or mariadb
mysql> select constraint_name, table_name
       from information_schema.key_column_usage
       where referenced_table_name = '<TABLE_NAME>';
Fekete Zoltán Mon, 12/18/2017 - 10:17