• MongoDB备份与恢复以及导入导出


    MongoDB备份与恢复

    1、mongodump数据备份

    在Mongodb中我们使用mongodump命令来备份MongoDB数据。该命令可以导出所有数据 (数据和数据结构) 或指定数据(集合、部分集合内容)到指定目录中。

    语法:
    mongodump -h dbhost -d dbname -o dbdirectory
    参数
    -p,–port:端口
    -h,–host:IP地址
    -d,–db:数据库
    -c,–collection:备份的集合名称
    -q,–query:备份数据的条件表达式
    -o,–out:备份文件的存放位置
    -u,–username:用户名 (可选)
    -p,–password:密码 (可选)
    –authenticationDataBase:认证数据库(若数据库开启了认证该参数必须传!)

    示例

    #备份所有数据库 
    	#非认证数据库
    	mongodump --port=27017 -h 127.0.0.1 -o /data/mongodb_backup  
    	#认证数据库
    	mongodump -h 127.0.0.1:27017 -o /data/mongodb_backup  -u root -p 123456 --	authenticationDataBase:admin
    	#--port可以不传,直接写在ip后即可
    	
    #具体根据实际数据库是否是开启了认证选择,下面都以认证过的为例,没认证只是少传几个参数
    	
    #备份指定数据库db1 
    	mongodump -d db1 -h 127.0.0.1:27017 -o /data/mongodb_backup  -u root -p 123456 --authenticationDatabase admin
    #备份db1数据库中的test集合中的name="张三"的记录
    	mongodump -d db1 -c test -q '{name:{$eq:"张三"}}' -h 127.0.0.1:27017 -o /data/mongodb_backup  -u root -p 123456 --authenticationDatabase admin
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    2、mongorestore数据恢复

    语法:
    mongorestore -h dbhost -d dbname --dir dbdirectory
    参数
    -p,–port
    -h,–host
    -d,–db 需要恢复的数据库实例,例如:test,当然这个名称也可以和备份时候的不一样,比如test2
    -c,–collection
    –dir:恢复文件存放的位置,如果指定了数据库文件夹或者集合文件,则只恢复当前数据库或者当前集合,如果没有指定,则恢复当前目录下所有备份数据。
    –drop:恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用哦!
    -u,–user
    -p,–password
    –authenticationDatabase

    示例

    #恢复所有数据库
     mongorestore -h 127.0.0.1:27017 --dir /data/mongodb_backup
    #恢复制定数据库
     mongorestore -h 127.0.0.1:27017 -d bd1 --dir /data/mongodb_backup
    
    • 1
    • 2
    • 3
    • 4

    MongoDB数据导入与导出

    1、导出工具:mongoexport

    概念:
    mongoDB中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件。可以通过参数指定导出的数据项,也可以根据指定的条件导出数据。
    语法:
    mongoexport -d dbname -c collectionname -o file --type json/csv -f field
    参数说明:
    -d :数据库名
    -c :collection名
    -o :输出的文件名
    –type : 输出的格式,默认为json
    -f :输出的字段,如果-type为csv,则需要加上-f “字段名”

    示例:

    #备份db1库下的test集合 (备份文件的名字可以自定义,默认导出了JSON格式的数据)
    
        mongoexport -h 127.0.0.1:27017 -u root -p 123456 --authenticationDatabase admin -d db1 -c test -o /home/mongod/backup/test.dat
        
    #导出CSV格式的数据
    
        mongoexport -h 127.0.0.1:27017 -u root -p 123456 --authenticationDatabase admin -d db1 -c test --type=csv -f "id,name" -o /home/mongod/backup/test_csv.dat
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    2、数据导入:mongoimport

    语法:
    mongoimport -d dbname -c collectionname --file filename --headerline --type json/csv -f field
    参数说明:
    -d :数据库名
    -c :collection名
    -type :导入的格式默认json
    -f :导入的字段名
    –drop 插入之前先删除原有的
    –headerline :如果导入的格式是csv,则可以使用第一行的标题作为导入的字段
    –file :要导入的文件

    示例:

    #将之前恢复的数据导入
    mongoimport -h 127.0.0.1:27017 -u root -p 123456 --authenticationDatabase admin -d db1 -c test --file /home/mongod/backup/test.dat
    
    #将之前恢复的CSV格式数据导入
    mongoimport -h 127.0.0.1:27017 -u root -p 123456 --authenticationDatabase admin -d db1 -c test --type=csv --headerline --file /home/mongod/backup/test_csv.dat
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
  • 相关阅读:
    学习GTEx数据库
    vue 实现图片以鼠标为中心放大,并可以随意在div内拖动
    PCB layout在布线上的设计规范有哪些?
    [CCS][sysconfig] 图形化工具的使用说明
    苹果“自揭老底”:自家应用不如第三方的好
    Tesla Token(特斯拉授权令牌)获取教程 ( ACCESS TOKEN、REFRESH TOKEN )
    svgrwebpack引入的报错
    如何管理付费媒体预算:分配、风险与扩展
    Java之SpringCloud Alibaba【九】【Spring Cloud微服务Skywalking】
    Treap 原理详解和实战
  • 原文地址:https://blog.csdn.net/WQH_Boss/article/details/134413455