mongoDB的安装与配置和客户端的使用

  • Post author:
  • Post category:其他




mongodb的安装


1、mongodb安装地址:


https://www.mongodb.com/download-center#community



进入如下网站:



2、下载完成后得到一个压缩包



(1)创建如下路径


D:/mongodb


(2)将上面的压缩包解压到D:/mongodb


(3)再创建如下路径


D:/mongodb/data/db


得到如下图:


3、WIN+R进入cmd控制台


(1)进入D:/mongodb/bin


[1]d:


[2]cd mongodb\bin


(2)输入mongod.exe –dbpath d:\mongodb\data\db



如下图,则说明安装成功。


进入http://127.0.0.1:27017/查看,获得如下图内容:



由此,mongodb安装完全成功。




另参考:http://jingyan.baidu.com/article/d5c4b52bef7268da560dc5f8.html



Mongodb安装为windows服务


1、在D:\mongodb下创建文件夹conf、log


2、在conf文件夹下创建文件:mongo.config


3、编辑mongo.config文件:


port = 12345

dbpath = D:\mongodb\data\db

logpath = D:\mongodb\log\mongod.log

logappend = true


4、运行命令:


mongod –config D:\mongodb\conf\mongo.config –install –serviceName “MongoDB”


如下图:



打开d:\mongodb\log会发现出现mongod.log文件,mongodb启动成功并打印了日志。如下图:




连接mongodb服务器
















Mongodb客户端


此处有三种常用客户端供选择:








1、Mongo VUE




缺点:没命令行输入的界面
链接:http://pan.baidu.com/s/1skuEOPZ 密码:36b6 【MongoVUE 1.6.9】


2、Robomongo


优点:有命令行输入的界面
缺点
1. 没有导出功能
2. 只有命令行的方式

官网:https://robomongo.org/
下载:http://pan.baidu.com/s/1kU4uSqN【robomongo-0.9.0-rc6-windows-x86_64-98af4fc.zip】





3、mongochef-x64(推荐)




优点
1. 有界面
2. 可以命令行
3. 可以导出结果
4. 个人免费版

官网:http://3t.io/
我下载并使用的是




mongochef













mongochef的使用






1、连接数据库:





2、



mongodb中的admin数据库和local数据库:











【1】MongoDB副本集默认会创建local、admin数据库,local数据库主要存储副本集的元数据,admin数据库则主要存储MongoDB的用户、角色等信息。






注:

元数据被定义为:描述数据的数据,对数据及信息资源的描述性信息。




【2】慎用local数据库


local数据库,从名字可以看出,它只会在本地存储数据,即local数据库里的内容不会同步到副本集里其他节点上去;目前local数据库主要存储副本集的配置信息、oplog信息,这些信息是每个Mongod进程独有的,不需要同步到副本集种其他节点。


在使用MongoDB时,

重要的数据千万不要存储在local数据库中

,否则当一个节点故障时,存储在local里的数据就会丢失。


另外,对于重要的数据,除了不能存储在local数据库,还要注意MongoDB默认的WriteConcern是

{w: 1}

,即数据写到Primary上(不保证journal已经写成功)就向客户端确认,这时同样存在丢数据的风险。对于重要的数据,可以设置更高级别的如

{w: "majority"}

来保证数据写到大多数节点后再向客户端确认,当然这对写入的性能会造成一定的影响。



【3】慎用admin数据库


当Mongod启用auth选项时,用户需要创建数据库帐号,访问时根据帐号信息来鉴权,而数据库帐号信息就存储在admin数据库下。

mongo-9551:PRIMARY> use admin
      switched to db admin
      mongo-9551:PRIMARY> db.getCollectionNames()
      [ "system.users", "system.version" ]

  • system.version存储authSchema的版本信息

  • system.users存储了数据库帐号信息

  • 如果用户创建了自定义的角色,还会有system.roles集合


用户可以在admin数据库下建立任意集合,存储任何数据,但强烈建议不要使用admin数据库存储应用业务数据



最好创建新的数据库。


admin数据库里的system.users、system.roles2个集合的数据,MongoDB会cache在内存里,这样不用每次鉴权都从磁盘加载用户角色信息。目前cache的维护代码,只有在保证system.users、system.roles的写入都串行化的情况下才能正确工作,详情参考官方issue SERVER-16092


从代码中我们可以看出,MongoDB将将admin数据库上的


意向写锁(MODE_IX)


直接升级为

写锁(MODE_X)

,也就是说


admin数据库的写入操作的锁级别只能到DB级别


,不支持多个collection并发写入,在写入时也不支持并发读取。如果用户在admin数据库里存储业务数据,则可能遭遇性能问题。






3、建立新的数据库



4、通过图形化界面操作数据库

【1】插入一个集合




collection




* 在



mongodb



中,



collection



相当于关系型数据库的表,但并不需提前创建,更不需要预先定义字段。















观察Collection:






(1)在集合中插入一条数据:







获得结果:






观察软件左边的树状图:




(2)数据的修改、删除、复制等操作很简单,此处省略。

(3)数据的查询:






5、通过命令行操作数据库:使用IntelliShell


(1)第一次使用IntelliShell需要配置,在第二选项中给出mongo.exe的路劲;



(2)使用IntellShell进行复杂数据库操作:



【1】进入IntellShell操作界面:








【2】在IntellShell界面中编辑你的操作:



eg:








注:Mongodb Shell的使用见我的博客:《



mongodb Shell的使用





链接:待更新







版权声明:本文为ganle原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。