Skip to content

Instantly share code, notes, and snippets.

@simonbaird
Created March 17, 2011 00:26
Show Gist options
  • Save simonbaird/873618 to your computer and use it in GitHub Desktop.
Save simonbaird/873618 to your computer and use it in GitHub Desktop.
Some bash functions to dump and load a mysql database
# Dump a mysql database to a gzipped sql file
dbdump() {
# (adjust defaults as required)
GZ_FILE=$1; [ ! -n "$GZ_FILE" ] && GZ_FILE="$HOME/.dbdump.gz"
DB_NAME=$2; [ ! -n "$DB_NAME" ] && DB_NAME='fms'
echo -n "Dumping database $DB_NAME to $GZ_FILE..."
# Add --extended-insert=FALSE to mysql command for more readable but MUCH slower sql
mysqldump -u root $DB_NAME | gzip - > "$GZ_FILE"
echo ' Done'
}
# Load a mysql database from a gzipped sql file
dbload() {
# (adjust defaults as required)
GZ_FILE=$1; [ ! -n "$GZ_FILE" ] && GZ_FILE="$HOME/.dbdump.gz"
DB_NAME=$2; [ ! -n "$DB_NAME" ] && DB_NAME='fms'
echo -n "Loading database $DB_NAME from $GZ_FILE..."
echo "DROP DATABASE $DB_NAME; CREATE DATABASE $DB_NAME;" | mysql -u root
zcat $GZ_FILE | mysql -u root -D $DB_NAME
echo ' Done'
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment