视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
MongoDB之整库备份还原单表collection备份还原
2020-11-09 14:33:12 责编:小采
文档

MongoDB之整库备份还原单表collection备份还原 cd D:\MongoDB\bin 1整库备份: mongodump -h dbhost -d dbname -o dbdirectory -h:MongDB所在服务器地址,例如:127.0.0.1:27017 -d:需要备份的数据库实例,例如:wlwdb -o:备份的数据存放位置,例如:D:\M

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

cd D:\MongoDB\bin

1整库备份:

mongodump -h dbhost -d dbname -o dbdirectory

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

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

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

eg:

mongodump -h 127.0.0.1 -d wlwdb -o D:\MongoDB\data\dump

可以查看该备份目录:

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

-h:MongoDB所在服务器地址

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

–directoryperdb:备份数据所在位置,例如:D:\MongoDB\data\dump\wlwdb

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

eg:

mongorestore -h 127.0.0.1 -d wlwdb –directoryperdb D:\MongoDB\data\dump\wlwdb

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.

下载本文
显示全文
专题