`

8天学习MongoDB——第七天 运维技术

 
阅读更多

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

1. 安装部署

2. 状态监控

3. 安全认证

4. 备份和恢复,

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

一:安装部署

我之前的文章都是采用console程序来承载,不过在生产环境中这并不是最佳实践,谁也不愿意在机器重启后满地找牙似找mongodb,

在mongodb里面提供了一个叫做“服务寄宿”的模式,我想如果大家对wcf比较熟悉的话很容易听懂。好了,我们实践一下,这里我开一下D盘

里面的mongodb。

这里要注意的有两点:

<1> logpath: 当我们使用服务寄宿的时候,用眼睛都能想明白肯定不会用console来承载日志信息了。

<2> 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盘建立一个backup文件夹用于存放test数据库。

快看,数据已经备份过来了,太爽了,现在我们用mongorestore恢复过去,记住啊,它是不用关闭机器的。

提一点的就是 drop选项,这里是说我将test数据恢复之前先删除原有数据库里面的数据,同样大家可以通过help查看。

3:主从复制

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

其实上面的1,2两点都不能保证获取数据的实时性,因为我们在备份的时候可能还有数据灌在内存中不出来,那么我们

想说能不能把数据暴力的刷到硬盘上,当然是可以的,mongodb给我们提供了fsync+lock机制就能满足我们提的需求。

fsync+lock首先会把缓冲区数据暴力刷入硬盘,然后给数据库一个写入锁,其他实例的写入操作全部被阻塞,直到fsync

+lock释放锁为止。

这里就不测试了。

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

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

分享到:
评论

相关推荐

    数据结构算法

    你也会(7篇)——第一篇 快速入门 MongoDB(8)8天学通MongoDB——第八天 驱动实践 8天学通MongoDB——第七天 运维技术 8天学通MongoDB——第六天 分片技术 8天学通MongoDB——第五天 主从复制 8天学通MongoDB——第四...

    13课 NodeJS基础-第4天-{ Node.js框架 }.rar

    这个13课的NodeJS基础课程聚焦于第4天的主题——Node.js框架,这通常意味着将介绍如何利用框架来简化和加速Node.js应用的开发。 在Node.js的世界里,框架扮演着至关重要的角色,它们提供了预设的结构、工具和最佳...

    通信工程应届生求职简历.docx

    通信工程应届生求职简历.docx

    c++课程设计-产品入库管理操作系统+源代码

    c++课程设计-产品入库管理操作系统 此 C++ 课程设计的产品入库管理操作系统,可实现产品信息录入、修改、查询与统计等功能,助力高效精准管理产品入库。

    IMG_20250416_154837.jpg

    IMG_20250416_154837.jpg

    处理器知识-RISC-V-简单启动流程-教学演示用途-1744731373.zip

    处理器知识_RISC-V_简单启动流程_教学演示用途_1744731373.zip

    机械臂轨迹规划:MATLAB_Robotics工具箱的D-H参数建模.pdf

    文档支持目录章节跳转同时还支持阅读器左侧大纲显示和章节快速定位,文档内容完整、条理清晰。文档内所有文字、图表、函数、目录等元素均显示正常,无任何异常情况,敬请您放心查阅与使用。文档仅供学习参考,请勿用作商业用途。 你是否渴望高效解决复杂的数学计算、数据分析难题?MATLAB 就是你的得力助手!作为一款强大的技术计算软件,MATLAB 集数值分析、矩阵运算、信号处理等多功能于一身,广泛应用于工程、科学研究等众多领域。 其简洁直观的编程环境,让代码编写如同行云流水。丰富的函数库和工具箱,为你节省大量时间和精力。无论是新手入门,还是资深专家,都能借助 MATLAB 挖掘数据背后的价值,创新科技成果。别再犹豫,拥抱 MATLAB,开启你的科技探索之旅!

    CNC-嵌入式-高性能-低成本控制器-GRBL

    CNC_嵌入式_高性能_低成本控制器_GRBL

    基于STM32微控制器设计的智能婴儿床

    智能婴儿床系统是基于STM32微控制器设计的一款全方位监测和互动系统,旨在提供全面的婴儿关怀解决方案。系统涵盖了体温、环境温度、湿度、光照、哭闹检测、音乐播放、烟雾浓度检测、自动摇篮模拟、WiFi通信以及云服务器连接等功能。

    【机器视觉技术】机器视觉通用软件的核心原理、功能特点及广泛应用:推动多行业智能化变革的关键技术

    内容概要:本文详细介绍了机器视觉通用软件的工作原理、功能特点及其广泛应用。机器视觉通用软件通过图像采集、预处理、特征提取与分析、决策与输出四个核心步骤,模拟人类视觉系统,使机器具备“看懂”图像并作出决策的能力。其功能涵盖图像识别、测量、检测、定位和分类等多个方面,能够满足不同行业的需求。文章还回顾了机器视觉技术从20世纪50年代至今的发展历程,展望了未来在技术突破、应用拓展以及与其他技术融合方面的潜力。; 适合人群:对机器视觉技术感兴趣的工程师、

    22020-9KZB_改封装-.pdf

    22020-9KZB_改封装-.pdf

    全球6G技术大会2024年5G6G天地一体化技术探索与实践白皮书87页.pdf

    全球6G技术大会2024年5G6G天地一体化技术探索与实践白皮书87页.pdf

    【计算机教育】计算机二级考试复习与做题心得:备考建议、科目选择及常见误区解析

    内容概要:本文围绕计算机二级考试的复习与做题心得展开,首先介绍了计算机二级考试的性质及其对不同人群的价值,接着详细对比了各科目的内容、适用人群和难度,推荐了适合不同基础考生的选择。文章还给出了以Python为例的复习计划,分为基础学习、真题练习和模拟练习三个阶段,并针对选择题、填空题、改错题和编程题提供了具体的做题技巧。最后,指出了备考中的常见误区,强调了实际操作的重要性,并鼓励考生不要因背景限制而畏惧考试,指出通过考试不仅能在简历上加分,还能提升个人能力。 适合人群:正在准备或考虑参加计算机二级考试的学生,特别是应届毕业生、希望获得学分或奖学金的同学,以及想进入国企、事业单位或公务员系统的求职者。 使用场景及目标:①帮助考生了解计算机二级考试的内容和价值;②为考生提供科目选择的指导;③制定合理的复习计划并掌握有效的做题技巧;④避免备考中的常见错误,提高通过率。 阅读建议:本文内容详实,语言轻松易懂,适合在备考初期阅读,以制定整体复习规划。考生可以根据自身情况,重点参考科目选择和复习计划部分,并结合做题技巧进行针对性练习。

    全球6G技术大会2024年6G未来电视视频应用场景需求与技术解析白皮书33页.pdf

    全球6G技术大会2024年6G未来电视视频应用场景需求与技术解析白皮书33页.pdf

    基于MATLABEdgeServer的智能电网实时谐波分析系统.pdf

    文档支持目录章节跳转同时还支持阅读器左侧大纲显示和章节快速定位,文档内容完整、条理清晰。文档内所有文字、图表、函数、目录等元素均显示正常,无任何异常情况,敬请您放心查阅与使用。文档仅供学习参考,请勿用作商业用途。 你是否渴望高效解决复杂的数学计算、数据分析难题?MATLAB 就是你的得力助手!作为一款强大的技术计算软件,MATLAB 集数值分析、矩阵运算、信号处理等多功能于一身,广泛应用于工程、科学研究等众多领域。 其简洁直观的编程环境,让代码编写如同行云流水。丰富的函数库和工具箱,为你节省大量时间和精力。无论是新手入门,还是资深专家,都能借助 MATLAB 挖掘数据背后的价值,创新科技成果。别再犹豫,拥抱 MATLAB,开启你的科技探索之旅!

    【C语言编程】PTA反转加法构造回文数算法实现:千位数级别高效字符串处理与回文检测

    内容概要:本文介绍了通过C语言实现反转加法构造回文数的方法,能够处理1000位的大整数。文中详细展示了如何定义字符数组存储大整数,通过自定义函数而非调用现成函数来提高效率,实现对输入数字的反转、判别是否为回文以及最优字符大整数加法等操作。核心代码包括字符串指针反序判回文、字符串指针反转赋值、高效字符串指针反转赋值判回文等函数,利用goto语句实现循环,确保当数字不是回文时,将原数与其反转后的数相加,得到的新数继续判断,直到构造出回文数或达到设定的最大迭代次数(如10次)。 适合人群:有一定C语言编程基础的学习者,尤其是对大整数运算、字符串操作感兴趣的读者。 使用场景及目标:①理解C语言中字符数组表示大整数、字符串指针操作等底层机制;②掌握通过反转加法构造回文数的算法思想,熟悉goto语句控制流程的应用。 其他说明:此代码示例强调了自定义函数在处理特定任务时的高效性,读者可以在此基础上进一步优化算法,探索更多关于大整数运算的知识。

    深度学习:MATLAB_实现Transformer网络用于文本情感分析.pdf

    文档支持目录章节跳转同时还支持阅读器左侧大纲显示和章节快速定位,文档内容完整、条理清晰。文档内所有文字、图表、函数、目录等元素均显示正常,无任何异常情况,敬请您放心查阅与使用。文档仅供学习参考,请勿用作商业用途。 你是否渴望高效解决复杂的数学计算、数据分析难题?MATLAB 就是你的得力助手!作为一款强大的技术计算软件,MATLAB 集数值分析、矩阵运算、信号处理等多功能于一身,广泛应用于工程、科学研究等众多领域。 其简洁直观的编程环境,让代码编写如同行云流水。丰富的函数库和工具箱,为你节省大量时间和精力。无论是新手入门,还是资深专家,都能借助 MATLAB 挖掘数据背后的价值,创新科技成果。别再犹豫,拥抱 MATLAB,开启你的科技探索之旅!

    基于MATLABModelica的液压系统数字孪生故障预测系统.pdf

    文档支持目录章节跳转同时还支持阅读器左侧大纲显示和章节快速定位,文档内容完整、条理清晰。文档内所有文字、图表、函数、目录等元素均显示正常,无任何异常情况,敬请您放心查阅与使用。文档仅供学习参考,请勿用作商业用途。 你是否渴望高效解决复杂的数学计算、数据分析难题?MATLAB 就是你的得力助手!作为一款强大的技术计算软件,MATLAB 集数值分析、矩阵运算、信号处理等多功能于一身,广泛应用于工程、科学研究等众多领域。 其简洁直观的编程环境,让代码编写如同行云流水。丰富的函数库和工具箱,为你节省大量时间和精力。无论是新手入门,还是资深专家,都能借助 MATLAB 挖掘数据背后的价值,创新科技成果。别再犹豫,拥抱 MATLAB,开启你的科技探索之旅!

    STM32F103C8T6-基于FreeRTOS系统实现步进电机控制

    STM32F103C8T6-基于FreeRTOS系统实现步进电机控制

    微机原理笔记-计算机中的进制与码制(一)

    西电周佳社老师的微机原理课笔记,本节内容主要是二进制十进制之间转换的几种方法

Global site tag (gtag.js) - Google Analytics