mongodb备份与恢复

发表于:2017-09-03

备份数据库

/**
 *   -h 后面的参数是连接地址,如果有端口 localhost:27017
 *   -d  参数是你要备份的数据库
 *   -o 是将数据库备份到哪个目录。 前提是目录要建好。
 */
mongodump -h dbhost -d dbname -o dbdirectory

// 示例
mongodump -h localhost:27017 -d blog -o /home/mongodump

// 如果需要验证权限, -u 用户名,-p 密码
mongodump -h localhost:27017 -u root -p root -d blog -o /home/mongodump

恢复数据库

/**
 *   -h  要恢复到哪个mongodb地址
 *   -d 新数据库名字, 可以与当前的数据库名一样, 会合并数据
 *   path  备份数据库所在路径
 */
mongorestore -h <hostname><:port> -d dbname <path>


// 示例
mongorestore -h localhost:27017 -d blog /home/mongodump/blog/

编写shell脚本备份

#!/bin/sh
now=`date +%Y-%m-%d_%H%M`
directoryName=blog-$now
dirname=/Users/xiejiahe/Documents/mongodb/backups/$directoryName

mkdir -p $dirname

/usr/local/bin/mongodump -h localhost:27017 -u root -p root -d blog -o $dirname
SQL