快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

葡京娱乐官网下载安装:8天学习MongoDB 专题——第七天 运维技术



这一篇我们以治理员的视角来看mongodb,作为一名治理员,我们常常打仗到的主要有4个方面:

1.安装支配

2.状态监控

3.安然认证

4.备份和规复,

下面我们就一点一点的解说。

一:安装支配

我之前的文章都是采纳console法度榜样来承载,不过在临盆情况中这并不是最佳实践,谁也不乐意在机械重启后满地找牙似找mongodb,在mongodb里面供给了一个叫做“办事投止”的模式,我想假如大年夜家对wcf对照认识的话很轻易听懂。好了,我们实践一下,这里我开一下D盘里面的mongodb。

这里要留意的有两点:

logpath: 当我们应用办事投止的时刻,用眼睛都能想明白肯定不会用console来承载日志信息了。

install:开启安装办事投止,很happy啊,把治理员的手工操作低落到最小,谢谢mongodb。

好了,console法度榜样叫我看log日志,那我就看看,发明mongodb已经提示我们若何开启mongodb,接着我照做便是了。

还要提醒大年夜家一点的便是,这些敕令参数很多很繁杂也就很轻易忘,不过不要紧,数据库给我们供给了一个help措施,我们可以拿mongod和mongo说事。

mongod:

mongo:

二:状态监控

监控可以让我们实时的懂得数据库的康健状况以及机能调优,在mongodb里面给我们供给了三种要领。

1:http监视器

这个我在先前的文章中也提到了,这里就不赘述了。

2:serverStatus()

这个函数可以获取到mongodb的办事器统计信息,此中包括 :全局锁,索引,用户操作行径等等这些统计信息,对治理员来说异常 紧张,详细的参数含义可以参考园友:http://www.cnblogs.com/xuegang/archive/2011/10/13/2210339.html

这里照样截个图混个眼葡京娱乐官网下载安装熟。

3:mongostat

前面那些统计信息再牛X,那也是静态统计,不能让我不雅看实时数据变更,还好,mongodb里面供给了这里要说的mongodstat监视器,这玩领悟每秒刷新,在实际临盆情况中大年夜有用场,照样截张图,很故意思,是不是感到大年夜军压境了。

三: 安然认证

作为数据库软件,我们肯定不想谁都可以造访,为了确保数据的安然,mongodb也会像其他的数据库软件一样可以采纳用户验证的措施,那么该怎么做呢?着实很简单,mongodb供给了addUser措施,还有一个留意点便是假如在admin数据库中添加将会被视为“超级治理员”。

上面的admin用户将会被视为超级治理员,“jack”用户追加的第三个参数表示是否是“只读用户”,好了,该添加的我们都添加了,我们第一次登录时不是采纳验证模式,现在我们应用--reinstall重启办事并以--auth验证模式登录。

好了,我们进入test聚拢翻翻数据看看环境,我们发明jack用户始终都是没有写入的权限,不管是授权或者未授权。

四:备葡京娱乐官网下载安装份和规复

这玩意的紧张性我想都不必要我来说了吧,这玩意如果搞不好会逝众人的,mongodb里面常用的手段有3种。

1: 直接copy

这个算是最简单的了,不过要留意一点,在办事器运行的环境下直接copy是很有风险的,可能copy出来时,数据已经遭到 破坏,独一能包管的便是要暂时关闭下办事器,copy完后重开。

2:mongodump和mongorestore

这个是mongo给我们供给的内置对象,很好用,能包管在不关闭办事器的环境下copy数据。

为了操作方便,我们先删除授权用户。

好了,我们转入正题,这里我先在D盘建立一个ba葡京娱乐官网下载安装ckup文件夹用于寄放test数据库。

快看,数据已经备份过来了,太爽了,现在我们用mongorestore规复以前,记着啊,它是不用关闭机械的。

提一点的便是 drop选项,这里是说我将test数据规复之前先删除原稀有据库里面的数据,同样大年夜家可以经由过程help查看。

3:主从复制

这个我在上上篇有所先容,这里也不赘述了。

着实上面的1,2两点都葡京娱乐官网下载安装不能包管获取数据的实时性,由于我们在备份的时刻可能还稀有据灌在内存中不出来,那么我们想说能不能把数据暴力的刷到硬盘上,当然是可以的,mongodb给我们供给了fsync+lock机制就能满意我们提的需求。

fsync+loc葡京娱乐官网下载安装k首先会把缓冲区数据暴力刷入硬盘,然后给数据库一个写入锁,其他实例的写入操作整个被壅闭,直到fsync+lock开释锁为止。

这里就不测试了。

加锁:db.runCommand({"fsync":1,"lock":1})

开释锁: db.$cmd.unlock.findOne()

您可能还会对下面的文章感兴趣: