`
welcome66
  • 浏览: 402150 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

MongoDB的数据备份恢复迁移与远程连接命令(三)

阅读更多

(一)数据备份、恢复与迁移管理

 
1、备份全部数据库
mkdir testbak
cd testbak
mongodump
说明:默认备份目录及数据文件格式为./dump/[databasename]/[collectionname].bson
2、备份指定数据库
mongodump -d pagedb
说明:备份数据库pagedb中的数据。
3、备份一个数据库中的某个集合
mongodump -d pagedb -c page
说明:备份数据库pagedb的page集合。
4、恢复全部数据库
cd testbak
mongorestore --drop
说明:将备份的所有数据库恢复到数据库,--drop指定恢复数据之前删除原来数据库数据,否则会造成回复后的数据中数据重复。
5、恢复某个数据库的数据
cd testbak
mongorestore -d pagedb --drop
说明:将备份的pagedb的数据恢复到数据库。
6、恢复某个数据库的某个集合的数据
cd testbak
mongorestore -d pagedb -c page --drop
说明:将备份的pagedb的的page集合的数据恢复到数据库。
7、向MongoDB导入数据
mongoimport -d pagedb -c page --type csv --headerline --drop < csvORtsvFile.csv
说明:将文件csvORtsvFile.csv的数据导入到pagedb数据库的page集合中,使用cvs或tsv文件的列名作为集合的列名。需要注意的是,使用--headerline选项时,只支持csv和tsv文件。
--type支持的类型有三个:csv、tsv、json
其他各个选项的使用,可以查看帮助:
mongoimport --help  
options:  
  --help                  produce help message  
  -v [ --verbose ]        be more verbose (include multiple times for more  
                          verbosity e.g. -vvvvv)  
  -h [ --host ] arg       mongo host to connect to ( <set name>/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  
  -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 4MB.  
8、从向MongoDB导出数据
mongoexport -d pagedb -c page -q {} -f _id,title,url,spiderName,pubDate --csv > pages.csv
说明:将pagedb数据库中page集合的数据导出到pages.csv文件,其中各选项含义:
-f 指定cvs列名为_id,title,url,spiderName,pubDate
-q 指定查询条件
其他各个选项的使用,可以查看帮助:
mongoexport --help  
options:  
  --help                  produce help message  
  -v [ --verbose ]        be more verbose (include multiple times for more verbosity e.g. -vvvvv)  
  -h [ --host ] arg       mongo host to connect to ( <set name>/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  
  -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  
注意:
如果上面的选项-q指定一个查询条件,需要使用单引号括起来,如下所示:
mongoexport -d page -c Article -q '{"spiderName": "mafengwoSpider"}' -f _id,title,content,images,publishDate,spiderName,url --jsonArray > mafengwoArticle.txt  
否则,就会出现下面的错误:
ERROR: too many positional options 

(二)远程连接管理

1、基于mongo实现远程连接
mongo -u admin -p admin 192.168.0.197:27017/pagedb
通过mongo实现连接,可以非常灵活的选择参数选项,参看命令帮助,如下所示:
mongo --help  
MongoDB shell version: 1.8.3  
usage: mongo [options] [db address] [file names (ending in .js)]  
db address can be:  
  foo                   foo database on local machine  
  192.169.0.5/foo       foo database on 192.168.0.5 machine  
  192.169.0.5:9999/foo  foo database on 192.168.0.5 machine on port 9999  
options:  
  --shell               run the shell after executing files  
  --nodb                don't connect to mongod on startup - no 'db address'   
                        arg expected  
  --quiet               be less chatty  
  --port arg            port to connect to  
  --host arg            server to connect to  
  --eval arg            evaluate javascript  
  -u [ --username ] arg username for authentication  
  -p [ --password ] arg password for authentication  
  -h [ --help ]         show this usage information  
  --version             show version information  
  --verbose             increase verbosity  
  --ipv6                enable IPv6 support (disabled by default)  
2、基于MongoDB支持的javascript实现远程连接
当你已经连接到一个远程的MongoDB数据库服务器(例如,通过mongo连接到192.168.0.184),现在想要在这个会话中连接另一个远程的数据库服务器(192.168.0.197),可以执行如下命令:
> var x = new Mongo('192.168.0.197:27017')  
> var ydb = x.getDB('pagedb');  
> use ydb  
switched to db ydb  
> db  
ydb  
> ydb.page.findOne()  
{  
        "_id" : ObjectId("4eded6a5bf3bfa0014000003"),  
        "content" : "巴黎是浪漫的城市,可是...",  
        "pubdate" : "2006-03-19",  
        "title" : "巴黎:从布鲁塞尔赶到巴黎",  
        "url" : "http://france.bytravel.cn/Scenery/528/cblsegdbl.html"  
}  
上述通过MongoDB提供的JavaScript脚本,实现对另一个远程数据库服务器进行连接,操作指定数据库pagedb的page集合。
如果启用了安全认证模式,可以在获取数据库连接实例时,指定认证账号,例如:
> var x = new Mongo('192.168.0.197:27017')  
> var ydb = x.getDB('pagedb', 'shirdrn', '(jkfFS$343$_\=\,.F@3');  
> use ydb  
switched to db ydb  
分享到:
评论

相关推荐

    mongoDB数据库WEB远程维护管理软件

    6. 备份与恢复:自动化或手动执行MongoDB备份,以防止数据丢失,并能快速恢复到特定时间点。 7. 图形化索引管理:创建、修改和删除索引,提升查询速度。 8. 集群管理:对于运行在集群环境中的MongoDB,这些工具...

    30分钟学MongoDB系列 ——MongoDB的安全机制和高级管理篇

    如果数据在迁移或备份过程中出现问题,DBA需要采取相应的措施,比如恢复历史备份,来确保生产环境的数据完整性和一致性。 综上所述,MongoDB作为NoSQL数据库的代表,其提供的安全机制和高级管理功能是保障数据库...

    mongodb数据库管理工具

    6. **备份与恢复**:提供一键式备份和恢复功能,简化了MongoDB的数据保护流程。 7. **用户管理**:可以方便地创建、修改和删除数据库用户,设置权限,确保数据安全。 8. **集群管理**:如果您的MongoDB部署是...

    mongodb-database-tools-windows-x86_64-100.3.1.zip

    MongoDB Database Tools是MongoDB公司提供的一个实用工具集合,包括mongodump、mongorestore、mongoimport、mongoexport等,用于数据迁移、备份和恢复。在提供的压缩包"mongodb-database-tools-windows-x86_64-100.3...

    mongodb管理工具

    4. **备份与恢复**:管理工具通常提供备份和恢复功能,方便用户定期备份数据库以防止数据丢失,同时也支持在不同环境中恢复数据。 5. **性能监控**:监控数据库性能是管理的重要环节。这些工具可以显示CPU使用率、...

    studio-3t tool for MongoDB

    7. 备份与恢复:支持创建数据库备份,并可以在需要时快速恢复,保障数据安全。 8. 数据同步:可以进行数据迁移和同步,实现多个MongoDB实例之间的数据一致性。 9. 集群管理:对于MongoDB集群,Studio-3T提供了全面...

    Robo的mongodb的可视化工具

    它还支持JSON格式的导入导出,方便数据迁移和备份。 3. 查询构建器:对于复杂的查询,Robo 3T提供了直观的查询构建器,用户可以通过拖放字段和选择运算符来构建查询,而无需手动编写复杂的MongoDB查询语句。 4. ...

    mongochef-mongodb工具

    4. **导入导出数据**:该工具支持从CSV、JSON、XML等格式导入数据到MongoDB,也可以将数据导出到这些格式,方便数据迁移和备份。 5. **性能监控**:MongoChef能显示数据库的实时性能指标,如内存使用、I/O操作、...

    MongoDB可视化工具mongobooster

    6. **备份与恢复**:内置了备份和恢复功能,用户可以方便地对数据库进行备份,并在需要时恢复到特定状态。 7. **性能监控**:mongobooster提供了实时性能监控,显示数据库的运行状态,如内存使用、磁盘I/O等,有助...

    mongo-s3-backup:定期将MongoDB备份到Amazon S3服务器

    MongoDB是一种流行的开源、分布式文档数据库,用于存储和检索数据。...使用这个工具,你可以构建一个可靠且自动化的MongoDB备份解决方案,确保在面对数据丢失或系统故障时,能够迅速恢复业务正常运行。

    NoSql mongoDB安装文件

    - **连接管理**:NoSQL Manager允许你创建和管理多个MongoDB服务器的连接,包括本地和远程服务器,支持SSH隧道。 - **数据库和集合浏览**:你可以直观地查看数据库中的所有集合,以及集合中的文档。这个工具提供了...

    Mongodb工具(dll)

    mongodump 可以将数据库的数据和元数据导出为二进制文件,而 mongorestore 可以将这些备份文件导入回 MongoDB,实现数据库的备份和恢复。 3. **mongod**:这是 MongoDB 数据库服务的主进程,负责数据存储、查询处理...

    mongodb studio 3t 5.2.2 官方正版 免破解 永久免费

    安装完毕后,用户可以通过这个工具连接到本地或远程的MongoDB实例,开始进行数据库管理和开发工作。 总的来说,MongoDB Studio 3T 5.2.2为MongoDB用户提供了便捷且强大的管理工具,无论是新手还是经验丰富的开发者...

    MongoDB客户端工具

    5. **备份与恢复**:用户可以使用MongoVUE进行数据库的备份和恢复,这在灾难恢复或定期数据保护时非常有用。 6. **性能监控**:MongoVUE能够显示服务器的性能指标,如CPU使用率、内存消耗、磁盘I/O等,帮助管理员...

    mongodb GUI tool

    7. **备份与恢复**:支持创建数据库的快照并进行恢复操作,确保数据安全。 8. **安全与权限管理**:管理用户账户和角色,设置访问控制,确保数据安全性。 9. **版本控制**:集成Git,实现对数据库更改的历史版本追踪...

    MongoDB-manual.pdf

    - **恢复过程**:阐述了如何从备份中恢复数据。 #### 3.9 UNIX ulimit设置 - **资源限制**:解释了如何设置和调整Linux系统中的资源限制以适应MongoDB的需求。 #### 3.10 生产环境注意事项 - **最佳实践**:提供了...

    MongoDB在不同主机间复制数据库和集合的教程

    在分布式环境中,有时我们需要在不同的主机之间复制数据库和集合以实现数据备份、故障恢复或者数据迁移。本教程将详细讲解如何使用MongoDB的几个关键命令来实现这一目标。 1. `db.cloneCollection()` `db....

    mongo 图形化 客户端

    标题中提到的"mongo 图形化 客户端"就是指这类工具,它们提供了一种直观的方式来与MongoDB交互,包括数据浏览、查询、备份、恢复以及数据库管理。 描述中的信息似乎与MongoDB图形化客户端的安装或卸载问题有关。...

Global site tag (gtag.js) - Google Analytics