zoukankan      html  css  js  c++  java
  • mongodb 备份、还原、导入、导出

    mongodump备份数据库
    如果开启了用户认证,要加上 --authenticationDatabase admin
    mongodump -h172.16.16.21:20001 -uroot -p123456 --authenticationDatabase=admin --gzip -d mds -o /media/dbbackup/mongo/172.16.16.21/
    mongorestore -h10.3.64.9:20001 -uroot -p123456 --authenticationDatabase=admin --gzip -d mds /media/dbbackup/mongo/172.16.16.21/

    常用的备份命令格式
    mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表 -o 文件存在路径

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

    参数说明:
    -h 数据库宿主机的IP
    --port 数据库的端口
    -u 数据库的用户名
    -p 数据库的密码
    -d 数据库的名字
    -c collection的名字
    -o 到要导出的文件名
    -q 导出数据的过滤条件


    导出某个数据库实例
    mongodump -h 192.168.144.25 --port 33988 -d liangdb -o /data/backup/


    mongodump在mongo关闭时,也是可以备份的,不过需要指定数据目录,命令为:

    mongodump --dbpath /data/db


    导出某个数据库实例
    mongodump -h 192.168.144.25 --port 33988 -d liangdb -o /data/backup/


    mongorestore还原数据库

    如果开启了用户认证,要加上 --authenticationDatabase admin

    常用命令格式
    mongorestore -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 --drop 文件存在路径

    --host <:port>, -h <:port>:
    MongoDB所在服务器地址,默认为: localhost:27017

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

    --drop:
    如果某个集合在目标库中存在,不加此参数则不会覆盖,加此参数先删除所有的记录,然后恢复。恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除!此参数要慎用。


    <path>:
    mongorestore 最后的一个参数,设置备份数据所在位置,例如:c:\data\dump\test。

    你不能同时指定 <path> 和 --dir 选项,--dir也可以设置备份目录。
    --dir:
    指定备份的目录
    不能同时指定 <path> 和 --dir 选项。

    导入某个库实例
    mongorestore -h192.168.114.25 --port 33988 -d liangdb /data/backup/liangdb

    mongoexport导出表,或者表中部分字段

    如果开启了用户认证,要加上 --authenticationDatabase admin
    mongoexport -h 10.0.67.8 --port 20001 -u root -p Taimei198.., --authenticationDatabase=admin -d report -c edc_subject_item -q '{ "subject_id" : "8a81c0486efedd52016f1c28288a57f9" }' -o /data/backup/edc_subject_item.dat
    mongoimport -h 10.3.128.8 --port 20001 -u root -p 123456 --authenticationDatabase=admin -d report -c edc_subject_item --upsert /data/backup/edc_subject_item.dat

    常用命令格式
    mongoexport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 集合名 -f 字段
    -q 条件导出 --csv -o 文件名 上面的参数好理解,重点说一下:
    -f 导出指字段,以字号分割,-f name,email,age导出name,email,age这三个字段
    -q 可以根查询条件导出,-q '{ "_id" : "10001" }' 导出uid为100的数据
    --csv 导出的文件格式是csv的。

    导出整张表
    mongoexport -d test -c users -o /home/mongodb/test/users.dat


    导出表中部分字段
    mongoexport -d test -c users --csv -f uid,name,sex -o test/users.csv


    根据条件到出数据
    mongoexport -d test -c users -q '{uid:{$gt:1}}' -o test/users.json

    mongoimport导入表,或者表中部分字段

    如果开启了用户认证,要加上 --authenticationDatabase admin
    mongoexport -h 10.0.0.8 --port 20001 -u root -p 123456.., --authenticationDatabase=admin -d report -c edc_subject_item -q '{ "subject_id" : "8a81c0486efedd52016f1c28288a57f9" }' -o /data/backup/edc_subject_item.dat
    mongoimport -h 10.3.3.9 --port 20001 -u root -p 123456 --authenticationDatabase=admin -d report -c edc_subject_item --upsert /data/backup/edc_subject_item.dat

    还原整表导出的非csv文件

    mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --upsert --drop 文件名

    重点说一下--upsert,其他参数上面的命令已有提到,--upsert 插入或者更新现有数据


    还原部分字段的导出文件

    mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --upsertFields 字段 --drop 文件名

    --upsertFields根--upsert一样


    还原导出的csv文件

    mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --type 类型 --headerline --upsert --drop 文件名

    上面三种情况,还可以有其他排列组合的。


    还原导出的表数据
    mongoimport -d test -c users --upsert test/users.dat

    部分字段的表数据导入
    mongoimport -d test -c users --upsertFields uid,name,sex test/users.dat

    还原csv文件
    mongoimport -d test -c users --type csv --headerline --file test/users.csv


  • 相关阅读:
    2019-04-02 cast and covert
    2019-04-01 为什么零售业务流行起来了?
    2019-04-01 银行的零售业务和对公业务
    服务器推送更新
    webpack 大概
    webpack
    react Hooks
    react 表单受控和非受控
    eslint规则
    react系列笔记:第三记-redux-saga
  • 原文地址:https://www.cnblogs.com/l10n/p/7417777.html
Copyright © 2011-2022 走看看