MongoDB作为文档数据库,有

1.登录MongoDB官网,地址:https://www.mongodb.com/download-center#community  , 根据自己操作系统下载相应版本并安装。

2.启动mongodb 服务,进入mongodb的安装文件目录内。D:\Program Files\MongoDB\Server\3.4\bin

启动服务指令:mongod.exe  -dbpath “D:\Program Files\MongoDB\data”

服务启动之后,最后一行会提示已经占用 27017端口了,可以进行简单的本地连接或是远程连接了。

3.本地连接:重新在启动一个cmd窗口,输入安装目录之后直接输入mongo(或是mongo.exe)或者输入

4.MongoDB备份就恢复

cmd 进入MongoDB下bin目录,例如:cd D:\Program Files\MongoDB\Server\3.4\bin

备份命令:>mongodump -h dbhost -d dbname -o dbdirectory

恢复命令:>mongorestore -h <hostname><:port> -d dbname <path>

(备份) 或 mongorestore (还原) -h 127.0.0.1:10001 -d test  --directoryperdb /usr/local/data/lietou/

至此mongodb数据库已经启动。后面操作就是使用mongodb命令操作了。

mongodb命令教程地址:http://www.runoob.com/mongodb/mongodb-databases-documents-collections.html

4.远程连接
远程连接:mongo 100.1.6.151:27017(远程ip地址)

五、 用web 查看:
http://100.1.6.148:27017/

查看MongoDb.log日记

db.adminCommand({getLog: "*" })

配置权限需要用户名密码登录

> use EFamilyDB
switched to db EFamilyDB
> db.createUser({user:"root",pwd:"legensity",roles:["userAdmin"]})
Successfully added user: { "user" : "root", "roles" : [ "userAdmin" ] }

这个例子创建了一个名为 root 的用户管理员。创建完了这个用户之后,我们应该马上以该用户的身份登录:

> db.auth("root","legensity")

如何创建数据库用户

首先保证你已经以用户管理员的身份登录 admin 数据库。然后用 use 命令切换到目标数据库,同样用 db.createUser() 命令来创建用户,其中角色名为 “readWrite”。

普通的数据库用户角色有两种,read 和 readWrite。顾名思义,前者只能读取数据不能修改,后者可以读取和修改。
下面是一个例子:

> use EFamilyDB
switched to db test
> db.createUser({user:"legensity",pwd:"legensity",roles:["readWrite"]})
Successfully added user: { "user" : "legensity", "roles" : [ "readWrite" ] }
> db.auth("legensity","legensity")
1

重启MongoDB服务:

以管理员进入cmd界面

cd C:\Program Files\MongoDB\Server\3.4\bin
mongod.exe -dbpath "E:\Database\MongoDB\Data" --auth

//  --auth  记得一定要加上

这样 MongoDB 的数据安全性就得到保障了,没有登录的客户端将无法执行任何命令。

C#连接MongoDB数据库连接字符串

MongoDB 标准连接字符串
mongodb://[username:password@]host1[:port1][,host2[:port2],…[,hostN[:portN]]][/[database][?options]]

 mongodb:// 是连接字串必须的前缀字串
 username:password@ 可选项,连接到数据库后会尝试验证登陆
 host1 必须的指定至少一个host
 :portX 可选项,默认连接到27017
 /database 如果指定username:password@,连接并验证登陆指定数据库。若不指定,默认打开admin数据库。
 ?options 是连接选项。如果不使用/database,则前面需要加上/。所有连接选项都是键值对name=value,键值对之间通过&或;(分号)隔开

连接选项包括:
Replica set:
replicaSet=name
驱动会校验replica set的名字。意味着给定的hosts是主库(seed list),驱动将试图找到replica set中的所有成员。(•The driver verifies that the name of the replica set it connects to matches this name. Implies that the hosts given are a seed list, and the driver will attempt to find all members of the set.)

Single server:
slaveOk=true|false

自由选项:
safe=true|false
 true: 驱动程序会在提交每次更新操作后执行getLastError命令以确认更新是有效的(参见w和wtimeoutMS)
 false:驱动程序在每次更新操作后不会执行getLastError
w=n
 驱动在getLastError命令加上{ w : n } 参数。意味着safe=true
wtimeoutMS=ms
 驱动在getLastError命令加上{ wtimeout : ms }参数。意味着safe=true.
fsync=true|false
 true: 驱动在getLastError命令加上{ fsync : true } 参数。意味着safe=true.
 false: 驱动不在getlasterror 命令加fsync参数。
journal=true|false
 true: 同步到 journal. 意味着safe=true.
connectTimeoutMS=ms
 设置建立连接超时,单位ms
socketTimeoutMS=ms
 设置socket发送或接受超时时间,单位ms

这些选项都是大小写不敏感的。

连接MongoDB(默认连接到localhost:27017)

mongodb://localhost

使用用户fred和密码foobar连接

mongodb://fred:foobar@localhost

使用用户fred和密码foobar连接,指定数据库baz

mongodb://fred:foobar@localhost/baz

连接到两台服务器组成的Replica Sets

mongodb://example.com:27017,example2.com:27017

连接到三台本地服务器组成的Replica Sets(分别使用27017、27018和27019端口)

mongodb://localhost,localhost:27018,localhost:27019

连接到三台服务器组成的Replica Sets,把所有写操作集中在主库,读操作分布在各丛库

mongodb://host1,host2,host3/?slaveOk=true

使用安全模式连接

mongodb://localhost/?safe=true

安全模式下连接到一组Replica Sets,等待至少两台机器同步成功,并设置两秒的超时时间


mongodb://host1,host2,host3/?safe=true;w=2;wtimeoutMS=2000
配置为远程MongoDB-CR方式链接

下载了最新mongodb3.03版本,当使用--auth 参数命令行开启mongodb用户认证时遇到很多问题,现总结如下: 
(百度上搜到的基本都是老版本的,看到db.addUser的就是,请忽略) 
Windows下我做了一个bat文件,用来启动mongodb,命令行如下: 
mongod --dbpath db\data --port 27017 --directoryperdb --logpath db\logs\mongodb.log --logappend --auth 
最后的参数就是开启和关闭认证,如果是conf配置文件,应该是auth=true或false 
1,首先关闭认证,也就是不带--auth参数,启动mongodb 
2,使用命令行进入mongodb目录,输入mongo命令,默认进入test数据库 
3,use userdb  切换到自己的数据库,输入db,显示userdb 
4,创建用户,角色为dbOwner,数据库为userdb,命令行应该是db.createUser({user:'myuser',pwd:'123456',roles:[{role:'dbOwner',db:'userdb'}]}) 
5,切换到admin数据库,use admin,db ,显示admin,db.shutdownServer()关闭服务器,填上认证参数,启动mongodb;以前的版本此时使用mongovue就可以使用myuser登录到userdb数据库上了,但是3.0.3版本不行,打开mongodb.log文件发现如下错误

authenticate db: userdb { authenticate: 1, nonce: "xxx", user: "myuser", key: "xxx" } 
2015-06-02T09:57:18.877+0800 I ACCESS   [conn2] Failed to authenticate myuser@userdb with mechanism MONGODB-CR: AuthenticationFailed MONGODB-CR credentials missing in the user document

此1-5步骤针对是3.0.3以前版本已经ok,如果是3.0.3,mongodb加入了SCRAM-SHA-1校验方式,需要第三方工具配合进行验证,下面给出具体解决办法: 
首先关闭认证,修改system.version文档里面的authSchema版本为3,初始安装时候应该是5,命令行如下: 
> use admin 
switched to db admin 
>  var schema = db.system.version.findOne({"_id" : "authSchema"}) 
> schema.currentVersion = 3 

> db.system.version.save(schema) 
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

不过如果你现在开启认证,仍然会提示AuthenticationFailed MONGODB-CR credentials missing in the user document 
原因是原来创建的用户已经使用了SCRAM-SHA-1认证方式 
> use admin 
switched to db admin 
> db.system.users.find() 
[...] 
{ "_id" : "userdb.myuser", "user" : "myuser", "db" : "userdb", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "XXXXXXXXXXXXXXXXXXXXXXXX", "storedKey" : "XXXXXXXXXXXXXXXXXXXXXXXXXXX", "serverKey" : "XXXXXXXXXXXXXXXXXXXXXXXXXXX" } }, "roles" : [ { "role" : "dbOwner", "db" : "userdb" } ] }

解决方式就是删除刚刚创建的用户,重新重建即可: 
> use userdb 
switched to db userdb 
> db.dropUser("myuser") 
true 
>db.createUser({user:'myuser',pwd:'123456',roles:[{role:'dbOwner',db:'userdb'}]}) 
然后关闭服务器,开启认证,重启服务器,用mongovue连接,一切OK

转载于:https://www.cnblogs.com/Gxiaopan/p/6370161.html

MongoDB初试备份及恢复相关推荐

  1. MongoDB操作-备份和恢复

    Mongodb数据库操作-备份 恢复 导出 导入 mongodb数据备份和恢复主要分为二种:一种是针对库的mongodump和mongorestore,一种是针对库中表的mongoexport和mon ...

  2. Mongodb 物理备份和恢复 —— 筑梦之路

    物理备份是指备份 MongoDB 数据目录,包括所有的数据文件.日志文件和配置文件.这种备份方法可以保留 MongoDB 数据库的完整性和一致性,也可以加快备份和恢复的速度.以下是备份和恢复 Mong ...

  3. Mongodb 定时备份和恢复

    2019独角兽企业重金招聘Python工程师标准>>> 定时对数据库进行备份可以有效地保护数据 mongodump -h 127.0.0.1 --port 2777 -u ruiyi ...

  4. MongoDB入门---备份(mongodump)恢复(mongorestore)监控

        今天工作上的事情不是太多,就索性吧后续的MongoDB的知识点整理一下,与诸君共享.废话就不多说了哈,咱们直接看一下MongoDB中的备份.在Mongodb中我们使用mongodump命令来备 ...

  5. MongoDB的备份(mongodump)与恢复(mongorestore)

    为什么80%的码农都做不了架构师?>>>    不用多想,数据的备份无论什么时候都是必须的,尤其是重要数据. MongoDB也提供了备份和恢复的功能,分别是MongoDB下载目录下的 ...

  6. MongoDB整库备份与还原以及单个collection备份、恢复方法

    mongodb数据库维护离不开必要的备份.恢复操作,而且一般不会出错,所以我们在使用的时候大部分时候使用备份和恢复操作就可以了 mongodump.exe备份的原理是通过一次查询获取当前服务器快照,并 ...

  7. MongoDB的数据库如何备份和恢复?

    摘要: MongoDB数据库如何备份?恢复MongoDB数据库应如何操作?最近数据库多灾多难,这些问题也成为开发者关注的重点.2016年12月爆出MongoDB数据库安全问题(见MongoDB黑客赎金 ...

  8. mongodb备份和恢复

    一. 备份 使用mongodump备份,并不会备份分片信息和索引,所以恢复之后,需要手动创建对数据库和集合的分片,手动创建索引 #./bin/mongodump -h 127.0.0.1:20000 ...

  9. MongoDB备份及恢复

    MongoDB备份及恢复 一.备份恢复介绍 1.备份恢复工具介绍: (1)** mongoexport/mongoimport (2)***** mongodump/mongorestore 2.备份 ...

最新文章

  1. Nature子刊:整合宏基因组、代谢组和表型分析的的计算框架
  2. R语言构建随机森林模型错误解决:Error in y - ymean : non-numeric argument to binary operator
  3. CTFshow 反序列化 web268
  4. html填满剩余空间,html – 标题,两侧填充剩余空间
  5. 超市商品摆放图片_商品摆放舍不得拿、干净又卫生的马来西亚版大润发——NSK超市...
  6. 勇者斗恶龙UVa11292 - Dragon of Loowater
  7. 远程mysql_java.sql.SQLException: null, message from server: Host 'xxx' is not allowed to connect
  8. MySQL索引类型总结和使用技巧以及注意事项(转)
  9. docker 部署Java项目
  10. 速达3000数据库结构; 怎么查看速达5000工业版数据库结构
  11. 线性四叉树十进制Morton码计算示例
  12. iOS逆向-day1:逆向内容的简介与越狱环境搭建
  13. Android 分区布局详解
  14. 【最新】网站下载工具,整站下载工具汇总
  15. 什么是计算机剪贴板介绍,剪贴板在哪里,详细教您如何打开电脑剪贴板
  16. 2018.8.2课堂笔记
  17. uni-app项目打包成apk(本地打包篇)
  18. 03Blender基本修改器,渲染基础知识
  19. LoadRunner 常用函数大全+1
  20. 计算机工作区如何删除,Windows Ink工作区是什么,怎么打开/关闭Windows Ink?

热门文章

  1. 大学mysql期末试题_四川大学数据库系统期末试题2014-2015.doc
  2. for循环之性能优化
  3. 嵩天python笔记_Python学习笔记
  4. 《转》Unsafe与CAS
  5. 【Maven】windows 拷贝项目到内网 全面飘红 终极解决
  6. Elasticsearch】 es Match Query
  7. 【elasticsearch】ES 相似文章检测
  8. 【Elasticsearch】es 5.3.0 bulk index 性能调优实践
  9. 【kafka】kafka BindException: Address already in use 一个失误或者愚蠢的问题
  10. 【Clickhouse】Clickhouse 普通视图