mongodb 备份和迁移

个人工作中的一些工具操作总结和分享,不喜勿喷

目录

1.1. 使用nosqlbooster进行库备份

?1.2?使用nosqlbooster进行表备份

2.使用mongodump备份,mongorestore还原

1. 使用工具备份

使用第三方工具进行备份,我这边使用的是nosqlbooster.这个由java开发的工具还真的挺好用的;

mac版本的下载地址如下:

链接:https://pan.baidu.com/s/1jsfcZeTSpg20hzHEKMEj4Q ?密码:odq4

windows版本的下载地址如下:

链接:https://pan.baidu.com/s/1c9DqPK7uG-jjF7LW3W29Lg ?密码:ug2w

?

1.1. 使用nosqlbooster进行库备份

下面例子中使用的是mac版本的nosqlbooster,该工具的简单操作(比如怎么登录怎么连接数据库等)这边就不介绍了,直接进入主题,怎么备份

登录后右键要备份的数据库,我这边是mall库

点击copy database复制数据库

然后paste database 粘贴

?

在弹出的选择框中输入新数据库的名称,这里是mall-bak

?

然后,过一会再刷新一下,已经出行新库了,简单吧

?

?1.2?使用nosqlbooster进行表备份

进入数据库mall,右键要备份的表page,选择复制集合?copy collection

然后再右键选择粘贴集合 paste??collection,这时候会弹出一个选择框,默认如下:

?

如果要复制备份请选择如下,并指定新表名称:

如果要对旧表进行数据插入,压测时候用,类似的关系型数据库中的insert into page(id,name) select id ,name from page 操作

?

?

还有一些选型,这边就不介绍了,。

?

2.使用mongodump备份,mongorestore还原

先备份在还原,操作如下:

①利用mongodump备份(所有)数据库:

注意:(如果是WINDOWS上,可以直接双击mongodump.exe这个应用程序便可实现备份,默认备份到bin目录下,文件夹名字为dump)

mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -o 文件存在路径

如果没有用户谁,可以去掉-u和-p

如果导出本机的数据库,可以去掉-h。

如果是默认端口,可以去掉--port。

如果想导出所有数据库,可以去掉-d。

/*******************************************************************************************************************************/

例如:

目的:① 192.168.0.119这台服务器上的数据库到当前主机E盘的dump119文件夹中

mongodump -h 192.168.0.119 -o e:\dump119\

(因为用的是默认端口号27017,无用户名和密码,所有都省略)

?②如果是本地备份,所有参数都可省略,直接mongodump -o e:\dump119\ ? ? ? ? ? ?(或者mongodump -h 127.0.0.1 -o e:\dump119\)

/*******************************************************************************************************************************/

②利用mongorestore还原(所有)数据库: (前提:在本地e:\dump119\下有一份备份)

mongorestore e:\dump119\

如果加--drop意思是,先删除所有的记录,然后恢复。

即:mongorestore --drop e:\dump119\

我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章