最近由于也无需求需要将mongodb数据库数量进行备份到另一台机器中,所以开启了研究之路,期间也多方进行谷歌,但是发现很多教程不太详细,所以经过实践和总结,将步骤描述如下。
导出数据
这里我是通过操作远程数据库的方式进行导出
- 需要身份认证方式
mongodump -h 主机名 -u mongo用户名 -p mongo密码 -d 操作的数据库 -o 文件存放到本地的路径 --authenticationDatabase 认证数据库名称
- 不需要进行身份认证
mongodump -h 主机名 -u mongo用户名 -p mongo密码 -d 操作的数据库 -o 文件存放到本地的路径
eg:
mongodump -h 888.888.888.888 -u root -p ****** -d userdatabase -o /Users/workfile/userdatabase --authenticationDatabase admin
导入数据库
新建一台服务器,安装好mongodb数据库,执行restore操作。
mongorestore -h 主机名 -u mongo用户名 -p mongo密码 --authenticationDatabase 认证数据库 -d 备份的目标数据库 数据文件地址
eg:
mongorestore -h 888.888.888.888 -u root -p ***** --authenticationDatabase admin -d userdatabase /Users/workfile/userdatabase
查看操作结果
- 查看备份数量
登录到备份机中,通过show dbs;可以查看我们备份出的数据库,通过use userdatabase;进入到该数据库中,可以通过 db.tables.find().count();查看备份数量。 - 查看备份机器中的索引
`db.tablename.getIndexes();`
我们可以发现这种操作方式类似于完全导出数据与结构并执行导入操作。
如果有什么不同的意见,可以评论留言,不嫌弃的点赞加关注哦。