zoukankan      html  css  js  c++  java
  • MongoDB之整库备份还原单表collection备份还原

    MongoDB之整库备份还原单表collection备份还原

    cd D:MongoDBin

    1整库备份:

    mongodump -h dbhost -d dbname -o dbdirectory

    -hMongDB所在服务器地址,例如:127.0.0.1:27017

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

    -o:备份的数据存放位置,例如:D:MongoDBdatadump,当然该目录需要提前建立,在备份完成后,系统自动在dump目录下建立一个wlwdb目录,这个目录里面存放该数据库实例的备份数据。

    eg:

    mongodump -h 127.0.0.1 -d wlwdb -o D:MongoDBdatadump


    可以查看该备份目录:


    mongodump --help


    mongodump的官方说明:
    options:
     --help          produce help message
     -v [ --verbose ]     be more verbose (include multiple times for more
                  verbosity e.g. -vvvvv)
     --version        print the program's version and exit
     -h [ --host ] arg    mongo host to connect to ( /s1,s2 for
                  sets)
     --port arg        server port. Can also use --host hostname:port
     --ipv6          enable IPv6 support (disabled by default)
     -u [ --username ] arg  username
     -p [ --password ] arg  password
     --dbpath arg       directly access mongod database files in the given
                  path, instead of connecting to a mongod server -
                  needs to lock the data directory, so cannot be used
                  if a mongod is currently accessing the same path
     --directoryperdb     if dbpath specified, each db is in a separate
                  directory
     --journal        enable journaling
     -d [ --db ] arg     database to use
     -c [ --collection ] arg collection to use (some commands)
     -o [ --out ] arg (=dump) output directory or "-" for stdout
     -q [ --query ] arg    json query
     --oplog         Use oplog for point-in-time snapshotting
     --repair         try to recover a crashed database
     --forceTableScan     force a table scan (do not use $snapshot)

    2整库恢复:

    mongorestore -h dbhost -d dbname directoryperdb dbdirectory

    -hMongoDB所在服务器地址

    -d:需要恢复的数据库实例,例如:wlwdb(可以和备份时候的不一样)

    directoryperdb:备份数据所在位置,例如:D:MongoDBdatadumpwlwdb

    drop:恢复的时候,先删除当前数据,然后恢复备份的数据。

    eg:

    mongorestore -h 127.0.0.1 -d wlwdb directoryperdb D:MongoDBdatadumpwlwdb

    mongorestore的官方说明(可通过mongorestore --help查看):
    options:
     --help         produce help message
     -v [ --verbose ]    be more verbose (include multiple times for more
                 verbosity e.g. -vvvvv)
     --version        print the program's version and exit
     -h [ --host ] arg    mongo host to connect to ( /s1,s2 for sets)
     --port arg       server port. Can also use --host hostname:port
     --ipv6         enable IPv6 support (disabled by default)
     -u [ --username ] arg  username
     -p [ --password ] arg  password
     --dbpath arg      directly access mongod database files in the given
                 path, instead of connecting to a mongod server -
                 needs to lock the data directory, so cannot be used
                 if a mongod is currently accessing the same path
     --directoryperdb    if dbpath specified, each db is in a separate
                 directory
     --journal        enable journaling
     -d [ --db ] arg     database to use
     -c [ --collection ] arg collection to use (some commands)
     --objcheck       validate object before inserting
     --filter arg      filter to apply before inserting
     --drop         drop each collection before import
     --oplogReplay      replay oplog for point-in-time restore
     --oplogLimit arg    exclude oplog entries newer than provided timestamp
                 (epoch[:ordinal])
     --keepIndexVersion   don't upgrade indexes to newest version
     --noOptionsRestore   don't restore collection options
     --noIndexRestore    don't restore indexes
     --w arg (=1)      minimum number of replicas per write

    3单个collection备份:

    mongoexport -h dbhost -d dbname -c collectionname -f collectionKey -o dbdirectory

    -h: MongoDB所在服务器地址

    -d: 需要恢复的数据库实例

    -c: 需要恢复的集合

    -f: 需要导出的字段(省略为所有字段)

    -o: 表示导出的文件名

    mongoexport的官方说明(可通过mongoexport --help查看):
     --help          produce help message
     -v [ --verbose ]     be more verbose (include multiple times for more
                  verbosity e.g. -vvvvv)
     --version         print the program's version and exit
     -h [ --host ] arg     mongo host to connect to ( /s1,s2 for
                  sets)
     --port arg        server port. Can also use --host hostname:port
     --ipv6          enable IPv6 support (disabled by default)
     -u [ --username ] arg   username
     -p [ --password ] arg   password
     --dbpath arg       directly access mongod database files in the given
                  path, instead of connecting to a mongod server -
                  needs to lock the data directory, so cannot be used
                  if a mongod is currently accessing the same path
     --directoryperdb     if dbpath specified, each db is in a separate
                  directory
     --journal         enable journaling
     -d [ --db ] arg      database to use
     -c [ --collection ] arg  collection to use (some commands)
     -f [ --fields ] arg    comma separated list of field names e.g. -f
                  name,age
     --fieldFile arg      file with fields names - 1 per line
     -q [ --query ] arg    query filter, as a JSON string
     --csv           export to csv instead of json
     -o [ --out ] arg     output file; if not specified, stdout is used
     --jsonArray        output to a json array rather than one object per
                  line
     -k [ --slaveOk ] arg (=1) use secondaries for export if available, default
                  true
     --forceTableScan     force a table scan (do not use $snapshot)
    

    4单个collection恢复:

    mongoimport -d dbhost -c collectionname type csv headerline file

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

    -headerline: 批明不导入第一行,因为第一行是列名

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


    mongoimport的官方说明(可通过mongoimport --help查看):
     --help         produce help message
     -v [ --verbose ]    be more verbose (include multiple times for more
                 verbosity e.g. -vvvvv)
     --version        print the program's version and exit
     -h [ --host ] arg    mongo host to connect to ( /s1,s2 for sets)
     --port arg       server port. Can also use --host hostname:port
     --ipv6         enable IPv6 support (disabled by default)
     -u [ --username ] arg  username
     -p [ --password ] arg  password
     --dbpath arg      directly access mongod database files in the given
                 path, instead of connecting to a mongod server -
                 needs to lock the data directory, so cannot be used
                 if a mongod is currently accessing the same path
     --directoryperdb    if dbpath specified, each db is in a separate
                 directory
     --journal        enable journaling
     -d [ --db ] arg     database to use
     -c [ --collection ] arg collection to use (some commands)
     -f [ --fields ] arg   comma separated list of field names e.g. -f name,age
     --fieldFile arg     file with fields names - 1 per line
     --ignoreBlanks     if given, empty fields in csv and tsv will be ignored
     --type arg       type of file to import. default: json (json,csv,tsv)
     --file arg       file to import from; if not specified stdin is used
     --drop         drop collection first
     --headerline      CSV,TSV only - use first line as headers
     --upsert        insert or update objects that already exist
     --upsertFields arg   comma-separated fields for the query part of the
                 upsert. You should make sure this is indexed
     --stopOnError      stop importing at first error rather than continuing
     --jsonArray       load a json array, not one item per line. Currently
                 limited to 16MB.


  • 相关阅读:
    mysql添加用户和密码
    常用正则表达式
    锐捷配置telnet
    Cisco配置aaa验证
    华为交换机端口镜像配置
    华为交换机boot默认密码
    python自动化运维常用模块安装
    python交互模式下tab键自动补全
    python脚本检查TCP端口是否正常
    python脚本获取主机Mac地址
  • 原文地址:https://www.cnblogs.com/wuyida/p/6300916.html
Copyright © 2011-2022 走看看