zoukankan      html  css  js  c++  java
  • MongoDB/备份

    mongodump:
    在MongoDB中我们使用mongodump命令来备份MongoDB数据。该命令可以导出所有数据到指定目录中。
    ./bin/mongodump -h dbhost -d dbname -o yourdirectory
    ./bin/mongodump --host mongodb.example.net --port 27017 --db test --collection some --username usr --password pwd --gzip yourdirectory
    如果不带任何参数直接执行mongodump,那么它会去连接本地27017端口上的MongoDB实例,并且会创建名为dump的备份。
    在指定了collection的情况下,使用--query参数备份部分数据。
    ./bin/mongodump -h dbhost -d dbname -c cname -q '{ "uid" : "100" }' -o dbdirectory
    --gzip表示是否压缩备份。
    在MongoDB未启动时,用以下命令,在这种方式下不需要运行mongod实例,如果已经运行了,必须要停掉。
    ./bin/mongodump --dbpath /data/db --out /data/backup --db test --username usr--password pwd

    mongorestore:
    恢复使用mongorestore命令
    ./bin/mongorestore -h dbhost -d dbname dbdirectory
    ./bin/mongorestore --host mongodb.example.net --port 27017 --db test --collection some --username usr --password pwd /data/backup
    在指定了collection的情况下,使用--query参数恢复部分数据。
    在MongoDB未启动时,用以下命令
    ./bin/mongorestore --dbpath /data/db --journal /data/backup

    mongoexport:
    使用mongoexport,需指定collection。
    ./bin/mongoexport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 -f 字段 -q 条件导出 --type=csv -o 文件名

    • -f 导出指字段,以字号分割,-f name,email,age表示导出name,email,age这三个字段。
    • -q 可以根查询条件导出,-q '{ "uid" : 100 }' 导出uid为100的数据。
    • --type=csv 表示导出的文件格式为csv的。导出csv必须声明-f字段。

    ./bin/mongoexport -d dbname -c cname --type=csv -q '{"type":"channel"}' -f uid,name,sex -o /usr/local/mongodb/users.csv
    ./bin/mongoexport -d dbname -c cname -q '{uid:{$gt:1}}' -o /usr/local/mongodb/users.json
    如果导出json文件,集市指定字段不包括_id,也都会自动包含_id,csv则不会。

    mongoimport:
    还原全部字段:
    ./bin/mongoimport -d dbname -c cname --upsert /usr/local/mongodb/users.json
    还原部分字段(默认包含_id):
    ./bin/mongoimport -d dbname -c cname --upsertFields uid,name,sex /usr/local/mongodb/users.json
    导入csv文件:
    ./bin/mongoimport -d myinfo -c usertedails_imported_csv_partial --type csv --headerline /usr/local/mongodb/users.csv
    若导出csv时,未包含_id字段,则会新建_id。

    • --upsert,upsertFields 插入或者更新现有数据。
    • --headerline表示csv第一行是列名不用导入。

    备份分片也相同。-h和-p改为mongos的地址和端口即可。



    作者:bluebule
    链接:https://www.jianshu.com/p/08a0b1ccd746
    来源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
  • 相关阅读:
    关联规则算法---Eclat算法
    Apriori算法第二篇----详细分析和代码实现
    scrapy框架初识
    git入门
    phantomjs的和谷歌浏览器的简单使用
    selenium模块的而简单使用
    代理ip的使用以及多进程爬取
    爬虫之re块解析
    爬虫初识和request使用
    xpath的基础使用
  • 原文地址:https://www.cnblogs.com/zping/p/11198436.html
Copyright © 2011-2022 走看看