Dbmgr

dbmgr is a command line tool for backing up and restoring databases. It's a useful tool for:

  • Sharing databases between developers
  • Provisioning new Vagrant vms and Docker images
  • Provisioning new developers with a working database

Installation

$ brew install callahanrts/dbmgr/dbmgr

or

$ gem install dbmgr

Usage

Help

$ dbmgr help

Backup

$ dmgr mysql backup --options

Restore

$ dbmgr mysql restore --options

Config

Options can either be passed in each command or they can be set as defaults in the ~/.dbmgr config file.

# ~/.dbmgr

:dbmgr:
  :path: "~/.db_backups"

:mysql:
  :port: 3306
  :host: 'localhost'
  :user: "root"

Examples

Back up a MySQL database

# Back up database from local MySQL server
$ dbmgr mysql backup database_name

# Back up database from a remote MySQL server
$ dbmgr mysql backup database_name -P 3307 -h 192.168.33.10 -u root

# Back up database and store in a specific location
$ dbmgr mysql backup database_name -p ~/Downloads

# Back up database as a named backup
$ dbmgr mysql backup database_name -f my_backup.sql

Restore a MySQL database

# Restore local database from the latest backup in the default location
$ dbmgr mysql restore database_name

# Restore remote database with the latest backup
$ dbmgr mysql restore database_name -P 3307 -h 192.168.33.10 -u root

# Restore local database from the latest backup in a specific location
$ dbmgr mysql restore database_name -p ~/Downloads

# Restore database from a named backup
$ dbmgr mysql restore database_name -f my_backup.sql