最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

monogdb之数据备份恢复与数据的导入导出

来源:懂视网 责编:小采 时间:2020-11-09 12:24:58
文档

monogdb之数据备份恢复与数据的导入导出

monogdb之数据备份恢复与数据的导入导出:###备份方式和恢复方式备份全部数据库mkdir/bakmongodump备份指定数据库mkidr/bakmongodump-dadmin备份一个数据库中的某个集合mkdir/bakmongodump-dadmin-cstude ### 备份方式和恢复方式备份全部数据库mkdir /bakmongodump 备份指定数据
推荐度:
导读monogdb之数据备份恢复与数据的导入导出:###备份方式和恢复方式备份全部数据库mkdir/bakmongodump备份指定数据库mkidr/bakmongodump-dadmin备份一个数据库中的某个集合mkdir/bakmongodump-dadmin-cstude ### 备份方式和恢复方式备份全部数据库mkdir /bakmongodump 备份指定数据

###备份方式和恢复方式备份全部数据库mkdir/bakmongodump备份指定数据库mkidr/bakmongodump-dadmin备份一个数据库中的某个集合mkdir/bakmongodump-dadmin-cstude

### 备份方式和恢复方式

备份全部数据库

mkdir /bak

mongodump

备份指定数据库

mkidr /bak

mongodump -d admin

备份一个数据库中的某个集合

mkdir /bak

mongodump -d admin -c student

恢复全部数据库

mongorestore --drop # --drop是为了防止数据重复

恢复某个数据库

mongorestore -d dbname --drop

恢复某个数据库的某个集合

mongorestore -d dbname -c student --drop

异机数据恢复

mongorestore -h host -d dbname /path/sourcefile # 注意这里要使用dump出来的文件的源文件

mongodump

-h 导出源

-d 要导出的数据库名称

-o 数据库要导出的位置

mongorestore

-d 使用的数据库名称

-c 恢复一个表

### 数据的导出

Mongodb中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件。可以通过参数指定导出的数据项,也可以根据指定的条件导出数据。

mongoexport

参数说明:

-h:指明数据库宿主机的IP

-u:指明数据库的用户名

-p:指明数据库的密码

-d:指明数据库的名字

-c:指明collection的名字

-f:指明要导出那些列

-o:指明到要导出的文件名

-q:指明导出数据的过滤条件

### 数据的导入

mongoimport

-type 指明要导入的文件格式

-headerline 指明不导入第一行

-file 指明要导入的文件路径

参数说明:

-h:指明数据库宿主机的IP

-u:指明数据库的用户名

-p:指明数据库的密码

-d:指明数据库的名字

-c:指明collection的名字

-f:指明要导入那些列

CSV 格式良好,主流数据库都支持导出为CSV 的格式,所以这种格式非常利于异构数据迁移



### 演示备份数据库

mkdir /bak cd /bak [root@redis bak]# mongodump -h 192.168.58.30 --port 27017 -u root -p connected to: 192.168.58.30:27017 Enter password: Thu Jul 17 08:15:42.996 all dbs Thu Jul 17 08:15:43.006 DATABASE: admin to dump/admin Thu Jul 17 08:15:43.015 admin.system.indexes to dump/admin/system.indexes.bson Thu Jul 17 08:15:43.076 2 objects Thu Jul 17 08:15:43.077 admin.system.users to dump/admin/system.users.bson Thu Jul 17 08:15:43.077 1 objects Thu Jul 17 08:15:43.077 Metadata for admin.system.users to dump/admin/system.users.metadata.json Thu Jul 17 08:15:43.078 DATABASE: guest to dump/guest Thu Jul 17 08:15:43.082 guest.system.indexes to dump/guest/system.indexes.bson Thu Jul 17 08:15:43.088 3 objects Thu Jul 17 08:15:43.088 guest.system.users to dump/guest/system.users.bson Thu Jul 17 08:15:43.097 1 objects Thu Jul 17 08:15:43.097 Metadata for guest.system.users to dump/guest/system.users.metadata.json Thu Jul 17 08:15:43.098 guest.student to dump/guest/student.bson Thu Jul 17 08:15:43.103 26 objects Thu Jul 17 08:15:43.103 Metadata for guest.student to dump/guest/student.metadata.json [root@redis bak]# ll total 4 drwxr-xr-x 4 root root 4096 Jul 17 08:15 dump [root@redis bak]# cd dump/ [root@redis dump]# ls admin guest [root@redis dump]#


###恢复数据库

  • 由于刚开始的时候指定了备份目录下面的所有文件,所以会报错

  • [root@localhost ~]# [root@localhost ~]# mongorestore -d admin admin/* ERROR: too many positional options Import BSON files into MongoDB.
  • 后来从新换了一个,再次报错

  • [root@localhost ~]# mongorestore -d admin admin/ couldn't connect to [127.0.0.1] couldn't connect to server 127.0.0.1:27017
  • 上面报错是因为我配置文件中写的是本机ip,更换后

  • [root@localhost ~]# mongorestore -d admin admin/ -h 192.168.58.10 connected to: 192.168.58.10 Thu Jul 17 09:08:33.873 admin/system.users.bson Thu Jul 17 09:08:33.873 going into namespace [admin.system.users] 1 objects found Thu Jul 17 09:08:33.902 Creating index: { key: { _id: 1 }, ns: "admin.system.users", name: "_id_" } Thu Jul 17 09:08:34.043 Creating index: { key: { user: 1, userSource: 1 }, unique: true, ns: "admin.system.users", name: "user_1_userSource_1" } [root@localhost ~]#


    ### 查看是否正确导入

    [root@localhost ~]# mongo 192.168.58.10 MongoDB shell version: 2.4.6 connecting to: 192.168.58.10/test Welcome to the MongoDB shell. For interactive help, type "help". For more comprehensive documentation, see Questions? Try the support group > show dbsl Thu Jul 17 09:12:34.806 don't know how to show [dbsl] at src/mongo/shell/utils.js:847 > show dbs; admin0.203125GB guest0.203125GB local0.078125GB > use guest switched to db guest > show collections; student system.indexes system.users > db.student.find() { "_id" : ObjectId("53c769621d184866a15043ec"), "name" : "zhuima" } { "_id" : ObjectId("53c769861d184866a15043ed"), "x" : 1 } { "_id" : ObjectId("53c769861d184866a15043ee"), "x" : 2 } { "_id" : ObjectId("53c769861d184866a15043ef"), "x" : 3 } { "_id" : ObjectId("53c769861d184866a15043f0"), "x" : 4 } { "_id" : ObjectId("53c769861d184866a15043f1"), "x" : 5 } { "_id" : ObjectId("53c769861d184866a15043f2"), "x" : 6 } { "_id" : ObjectId("53c769861d184866a15043f3"), "x" : 7 } { "_id" : ObjectId("53c769861d184866a15043f4"), "x" : 8 } { "_id" : ObjectId("53c769861d184866a15043f5"), "x" : 9 } { "_id" : ObjectId("53c769861d184866a15043f6"), "x" : 10 } { "_id" : ObjectId("53c769861d184866a15043f7"), "x" : 11 } { "_id" : ObjectId("53c769861d184866a15043f8"), "x" : 12 } { "_id" : ObjectId("53c769861d184866a15043f9"), "x" : 13 } { "_id" : ObjectId("53c769861d184866a15043fa"), "x" : 14 } { "_id" : ObjectId("53c769861d184866a15043fb"), "x" : 15 } { "_id" : ObjectId("53c769861d184866a15043fc"), "x" : 16 } { "_id" : ObjectId("53c769861d184866a15043fd"), "x" : 17 } { "_id" : ObjectId("53c769861d184866a15043fe"), "x" : 18 } { "_id" : ObjectId("53c769861d184866a15043ff"), "x" : 19 } Type "it" for more >



    ### 用户管理

    添加超级用户

    use admin

    db.addUser('name','password')

    添加只读用户

    use dbname

    db.addUser('name','password',true)

    添加普通用户

    use dbname

    db.addUser('name','password') 其实也不能说是普通用户,,这个只是针对于某一个数据库有权限

    删除用户

    use dbname

    db.system.users.remove('name','password')

    更换用户密码

    use dbname

    db.addUser('name','password')

    切换用户(必须要先到对对应的数据库,root账户除外)

    use dbname

    db.auth('name','password')

    查找用户

    use dbname

    db.system.users.find()


    ### 监控mongodb

    声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文档

    monogdb之数据备份恢复与数据的导入导出

    monogdb之数据备份恢复与数据的导入导出:###备份方式和恢复方式备份全部数据库mkdir/bakmongodump备份指定数据库mkidr/bakmongodump-dadmin备份一个数据库中的某个集合mkdir/bakmongodump-dadmin-cstude ### 备份方式和恢复方式备份全部数据库mkdir /bakmongodump 备份指定数据
    推荐度:
    标签: 恢复 备份 导出
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top