您的当前位置:首页正文

如何备份,还原和迁移MongoDB数据库

2020-11-09 来源:尚佳旅游分享网
mongodump是mongodb提供的用于创建数据库备份的实用程序。这是一个非常有用的实用程序,可以考虑非常有效地为实时服务器数据库进行备份。对于数据库还原,需要使用mongorestore命令。

1、备份mongodb数据库(mongodump)

有多种备份MongoDB数据库的方法。使用mongodump命令进行所有数据库备份、单个集合备份或者单个数据库备份。

备份单个数据库

使用此命令仅备份单个数据库(名为mydb)。将在/backup/db/目录中创建备份。

$ mongodump --db mydb --out / backup / db /

-db - 要备份的数据库名称
-out - 数据库备份位置。这将创建具有数据库名称的文件夹。

可以为远程数据库连接备份指定主机,端口,用户名和密码,如下所示。

$ mongodump --host 10.0.1.7 --port 27017 --username admin --password somepassword --db mydb --out / backup / db /

备份所有数据库

要备份所有数据库,只需按以下命令运行即可。这里/ data / db /是你的mongodb数据目录的位置,/ backup / db是备份目录的位置。

$ mongodump --out / backup / db /

可以为远程数据库指定主机,端口。

备份单一集合

此命令将从数据库中备份单个集合。备份文件将在dump / mydb /目录中创建。

$ mongodump --collection mycollection --db mydb --out / backup / db /

2、使用mongorestore恢复MongoDB数据库

mongorestore是用于恢复mongodb数据库备份的命令行工具。这里/ data / db /是你的mongodb数据目录的位置,/ backup / db是备份目录的位置。

$ mongorestore --db mydb --drop / backup / db / mydb

-drop - 如果已经存在,将删除数据库。

只需将备份文件移动到远程服务器并在那里运行相同的命令即可恢复备份。

3、MongoDB备份Shell脚本

可以在调度程序中轻松安排以下脚本,以定期备份数据库。创建如下文件

$ vi /backup/mongo-backup.sh

将以下内容添加到文件中。相应地更新数据库主机名,数据库名称,用户名和密码。

#!/bin/sh
 
TODAY=`date +%d%b%Y`
BACKUP_DIR=/backup/db
 
mkdir -p ${BACKUP_DIR}/${TODAY}
 
mongodump -h <DATABASE_HOST> -d <DATABASE_NAME> -u <USERNAME> -p <PASSWRD> --out ${BACKUP_DIR}/${TODAY}/

现在在crontab中配置它以便每天运行。

0 2 * * * /backup/mongo-backup.sh

本篇文章到这里就已经全部结束了,更多其他精彩内容可以关注PHP中文网的MySQL视频教程栏目!

显示全文