一个前端,爱跑步、爱吉他、爱做饭、爱生活、爱编程、爱南芳姑娘,爱我所爱。世间最温暖又无价的是阳光、空气与爱,愿它们能带你去更远的地方。

  • 文章
  • 心情
  • 照片墙
  • 工具
  • 开发技术分享

    mongoDB数据导入导出与备份恢复

    技术 279 2021-08-04 10:32

    1.导出:

    导出数据可以使用命令:

    mongoexport -h dbhost -d dbname -c collectionName -o output
    

    参数说明:

    -h 数据库地址

    -d 指明使用的库

    -c 指明要导出的集合

    -o 指明要导出的文件名

    举个例子:

    mongoexport -h 127.0.0.1:27017 -d xxx -c xxx -o C:\xx\xx\Desktop/test.json
    

    导出成功后是这样的的一个json

    2.导入:

    导入数据可以使用命令:

    mongoimport -h dbhost -d dbname -c collectionname output 
    

    参数说明:

    -h 数据库地址

    -d 指明使用的库

    -c 指明要导入的集合

    举例:(帮刚才导出的数据从数据库删除掉,再通过这个命令导入)

    ongoimport -h 127.0.0.1:27017 -d xx -c xx C:\xx\xx\Desktop/test.json

    然后通过robo3T就可以看到刚才导入的数据了


    补充:如果我们的mongo设置了用户权限,按照上面的命令是无法正常操作的

    需要加两个参数:-u "userName" -p "password" 即可

    完整实例:

    mongoexport -h 127.0.0.1:27017 -d xxx -c xxx -o C:\xx\xx\Desktop/test.json -u "userName" -p "password"
    

    3.备份

    如果想要对整个数据库进行备份需要用:mongodump

    # 语法:

    mongodump -h "数据库所在ip地址" -d "数据库名称" -o "保存文件的目录" -u xxx -p xxx
    

    参数说明:

    -h: MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017

    -d: 需要备份的数据库实例,例如:test

    -o: 备份的数据存放位置,例如:/home/mongodump/,当然该目录需要提前建立,这个目录里面存放该数据库实例的备份数据。

    例:

    # 将本地数据库familyTv的数据保存到当前目录下

    mongodump.exe -h 127.0.0.1:27017 -d familyTv -o ./

    4.数据恢复

    数据恢复:mongorestore

    # 语法:

    mongorestore -h "数据库所在ip" -d "要保存数据的数据库名称"  --dir "存放数据的目录"
    

    参数或名:

    -h: MongoDB所在服务器地址

    -d: 需要恢复的数据库实例,例如:test,当然这个名称也可以和备份时候的不一样,比如test2

    --dir: 备份数据所在位置,例如:/home/mongodump/

    --drop: 恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用!

    # 例:

    mongorestore -h 127.0.0.1 -d familyTv --dir familyTv