-
前言
mongodb4.4开始,导入导出工具需要单独开始安装了。
https://docs.mongodb.com/v4.4/reference/program/mongoexport/
https://fastdl.mongodb.org/tools/db/mongodb-database-tools-macos-x86_64-100.5.1.zip
1 导入
导入数据命令:
mongoimport -h dbhost -d dbname -c collectionname 文件的地址... -h : 数据库地址,MongoDB 服务器所在的 IP 与 端口,如 localhost:27017 -d :指明使用的库,指明使用的数据库实例,如 test -c :指明要导入的集合,如 c1、c2、可以和导出时不一致,自定义即可,不存在时会直接创建。 本地的文件地址:事先导出好的 mongoDB 集合文件
1.1 导入JSON文件
bin/mongoimport -h localhost:27017 -uroot -p123456 --authenticationDatabase=admin -d book2 -c book_2 book.json 2021-11-03T20:56:16.057+0800 connected to: mongodb://localhost:27017/ 2021-11-03T20:56:18.192+0800 35443 document(s) imported successfully. 0 document(s) failed to import.
https://docs.mongodb.com/manual/reference/program/mongoimport/index.html
mongoimport -c=people -d=example --mode=upsert --file=people-20160927.json
2 导出
导出数据命令:
mongoexport -h dbhost -d dbname -c collectionName -o output -h :数据库地址,MongoDB 服务器所在的 IP 与 端口,如 localhost:27017 -d :指明使用的数据库实例,如 test -c 指明要导出的集合,如 c1 -o 指明要导出的文件名,如 E:/wmx/mongoDump/c1.json,注意是文件而不是目录,目录不存在时会一同新建
2.1 导出json文件
mongoexport -h localhost:27017 -d book -c book -o /Users/ymz/book.json
mongodb 导出 带条件_mongoexport 带条件导出数据
https://blog.csdn.net/weixin_39824223/article/details/1115547083 备份
在Mongodb中我们使用mongodump命令来备份MongoDB数据。该命令可以导出所有数据到指定目录中。
mongodump命令可以通过参数指定导出的数据量级转存的服务器。
语法
mongodump命令脚本语法如下:
mongodump -h dbhost -d dbname -o dbdirectory
- -h:MongoDB 所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017
- -d:需要备份的数据库实例,例如:test
- -o:备份的数据存放位置,例如:c:\data\dump,当然该目录需要提前建立,在备份完成后,系统自动在dump目录下建立一个test目录,这个目录里面存放该数据库实例的备份数据。
mongodump 命令可选参数列表如下所示:
语法
描述
实例
mongodump --host HOST_NAME --port PORT_NUMBER
该命令将备份所有MongoDB数据
mongodump --host runoob.com --port 27017
mongodump --dbpath DB_PATH --out BACKUP_DIRECTORY
mongodump --dbpath /data/db/ --out /data/backup/
mongodump --collection COLLECTION --db DB_NAME
该命令将备份指定数据库的集合。
mongodump --collection mycol --db test
3.1 例子
mongodump -h localhost:27017 -d book -o /Users/ymz 2021-11-03T20:22:30.265+0800 writing book.book to /Users/ymz/book/book.bson 2021-11-03T20:22:30.265+0800 writing book.samples to /Users/ymz/book/samples.bson 2021-11-03T20:22:30.266+0800 done dumping book.samples (4 documents) 2021-11-03T20:22:30.689+0800 done dumping book.book (35443 documents)
4 恢复
mongodb使用 mongorestore 命令来恢复备份的数据。
语法
mongorestore命令脚本语法如下:
mongorestore -h <hostname><:port> -d dbname <path>
- --host <:port>, -h <:port>:MongoDB所在服务器地址,默认为: localhost:27017
- --db , -d :需要恢复的数据库实例,例如:test,当然这个名称也可以和备份时候的不一样,比如test2
- --drop:恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用哦!
- <path>:mongorestore 最后的一个参数,设置备份数据所在位置,例如:c:\data\dump\test。你不能同时指定 <path> 和 --dir 选项,--dir也可以设置备份目录。
- --dir:指定备份的目录你不能同时指定 <path> 和 --dir 选项。
4.1 导入dump文件bin/mongorestore -h localhost:27017 -uroot -p123456 --authenticationDatabase=admin -d book2 /Users/ymz/Downloads/book 2021-11-03T20:51:33.749+0800 The --db and --collection flags are deprecated for this use-case; please use --nsInclude instead, i.e. with --nsInclude=${DATABASE}.${COLLECTION} 2021-11-03T20:51:33.749+0800 building a list of collections to restore from /Users/ymz/Downloads/book dir 2021-11-03T20:51:33.750+0800 reading metadata for book2.book from /Users/ymz/Downloads/book/book.metadata.json 2021-11-03T20:51:33.751+0800 reading metadata for book2.samples from /Users/ymz/Downloads/book/samples.metadata.json 2021-11-03T20:51:33.863+0800 restoring book2.book from /Users/ymz/Downloads/book/book.bson 2021-11-03T20:51:33.893+0800 restoring book2.samples from /Users/ymz/Downloads/book/samples.bson 2021-11-03T20:51:33.921+0800 finished restoring book2.samples (4 documents, 0 failures) 2021-11-03T20:51:35.667+0800 finished restoring book2.book (35443 documents, 0 failures) 2021-11-03T20:51:35.667+0800 restoring indexes for collection book2.book from metadata 2021-11-03T20:51:35.668+0800 index: &idx.IndexDocument{Options:primitive.M{"background":false, "name":"book_idx_isbn", "unique":true, "v":2}, Key:primitive.D{primitive.E{Key:"isbn", Value:1}}, PartialFilterExpression:primitive.D(nil)} 2021-11-03T20:51:35.668+0800 no indexes to restore for collection book2.samples 2021-11-03T20:51:36.022+0800 35447 document(s) restored successfully. 0 document(s) failed to restore.
错误原因没有授权
bin/mongorestore -h localhost:27017 -uymz -p123456 -d book2 /Users/ymz/Downloads/book 2021-11-03T20:48:45.709+0800 error connecting to host: could not connect to server: connection() error occured during connection handshake: auth error: sasl conversation error: unable to authenticate using mechanism "SCRAM-SHA-1": (AuthenticationFailed) Authentication failed.
参考
https://www.runoob.com/mongodb/mongodb-mongodump-mongorestore.html
文章评论