1.启动
查看启动选项
mongod --help
几个重要的选项
dbpath:数据目录,启动时mongod实例会在该目录下创建mongod.lock文件,防止其它mongod实例使用该数据目录 port:服务器监听的端口号,默认为27017 fork:以守护进程的方式运行 logpath:日志文件 logappend:mongod启动时默认将清除原来的日志记录,此选项可以保留原来的日志记录 nohttpinterface:默认情况下,mongod会启动一个http服务器,该服务器的监听端口比port大1000,此选项可以关闭该端口 rest:开启REST支持,开启后可在http服务器上查看_commands auth:开启权限校验 bindip:指定客户端的IP noscripting:完全禁止服务端JS的执行 repair:修复所有数据库 config:指定配置文件
关于配置文件:
1)以#开头的行是注释
2)采用"选项=值"的方式指定选项,并且大小写敏感
3)开关选项的值为true
2.停止
1)Ctrl+C
2)kill -2 PID
3)kill PID
4)在admin数据库中运行db.shutdownServer()
关闭过程:
1)等待当前运行的操作或者文件预分配完成
2)关闭所有打开的连接
3)将缓存的数据刷新到磁盘
注:不能使用kill -9 PID,这样会导致数据库直接关闭,忽略上述步骤。
3.监控
1)通过HTTP查看
http://localhost:28017/
http://localhost:28017/_status
2)serverStatus命令
db.runCommand({"serverStatus": 1});
3)mongostat进程
4.安全和认证
1)权限管控
超级用户(管理员):admin数据库中的用户,可以读写所有数据库,执行特定的管理命令。
//新增 //方法一 db.addUser(name, pwd[, isReadOnly]); e.g. db.addUser("micromsg", "micromsg"); db.addUser("readonly", "readonly", true); //方法二 db.addUser({ "user": ..., "pwd": ..., "roles": [...] }); roles:用户权限,权限列表如下: --read --readWrite --dbAdmin --userAdmin --clusterAdmin --readAnyDatabase --readWriteAnyDatabase --userAdminAnyDatabase --dbAdminAnyDatabase e.g. db.addUser({ "user": "test", "pwd": "test", "roles": ["read"] }); //使用,必须使用auth选项启动服务才能开启权限校验 db.auth(name, pwd); e.g. db.auth("readonly", "readonly"); //删除 db.removeUser(name); e.g. db.removeUser("test");
2)工作原理
数据库的用户账号以文档的形式存储在system.users集合里
3)其它安全措施
--使用SSH隧道或者类似技术做客户端和服务器之间的加密
--将MongoDB服务器部署在防火墙后或只有应用服务器能访问的网络中
--使用bindip和noscripting选项启动服务
5.备份和修复
1)直接备份数据目录
直接创建dbpath数据目录中所有文件的副本
缺点:
在运行时复制数据目录不太安全
2)mongodump和mongorestore进程
mongodump是一种能在运行时备份的工具,原理是对运行的MongoDB做查询,然后将所有查到的文档写入磁盘。
缺点:
--使用普通的查询机制,所以产生的备份不一定是服务器数据的实时快照
--会对其它客户端的性能产生不利影响
mongorestore则是一个根据mongodump的备份来恢复数据库的工具。
3)fsync和锁
fsync命令强制服务器将所有缓冲区写入磁盘,还可以选择上锁阻止对数据库的进一步写入,知道释放锁为止。结合fsysnc,锁和mongodump可以获得数据目录的实时快照。
//清空缓存,加写入锁 db.runCommand({"fsync": 1, "lock": 1}); //备份 ... //解锁 db.$cmd.sys.unlock.findOne(); //确保已经解锁 db.currentOp();
4)从属备份
当以复制的方式运行MongoDB时,从服务器的数据几乎与主服务器同步。因为不在乎从属服务器的性能或是能不能读写,于是就能随意选择上面的3种备份方式。
5)修复
--通过repair选项启动MongoDB来修复所有数据库
原理:将所有的文档导出然后马上导入,忽略那些无效的文档,重建索引。
修复过程存在空间的回收,能起到压缩数据的作用。
--通过db.repairDatabase()来修复运行中的数据库
注:修复损毁的数据是不得已的最后一招。尽可能地稳妥地停掉服务器,利用复制功能实现故障恢复,经常做备份,这些才是最有效的管理数据的手段。
相关推荐
MongoDB运维手册V1.1(DBA).doc
在运维 MongoDB 时,有四个关键方面需要关注:安装部署、状态监控、安全认证和备份恢复。以下是对这些方面的详细说明: 一、安装部署 在生产环境中,使用命令行启动 MongoDB(console 程序)并不理想,因为它在...
MongoDB学习视频,从入门到精通,适合开发和运维学习下载
mongodb安装配置手册,指令,维护命令等!!!!!到www.mongodb.org/download网站地址下载安装包,由于我们的Server是64位的,因此我下载的是64位的对应版本;
"阿里云专有云企业版云数据库MongoDB版运维指南" 阿里云专有云企业版云数据库MongoDB版运维指南是阿里云企业版V3.6.0云数据库MongoDB版的运维指南,旨在帮助用户快速了解和使用云数据库MongoDB版的功能和特性。 1....
阿里云专有云企业版云数据库MongoDB版运维指南 该文档提供了阿里云专有云企业版云数据库MongoDB版的运维指南,旨在帮助用户正确地安装、配置和使用云数据库MongoDB版。文档中包括法律声明、通用约定、产品架构、...
阿里云专有云企业版V3.8.1云数据库MongoDB版运维指南20190910 阿里云专有云企业版V3.8.1云数据库MongoDB版运维指南是阿里云发布的一份运维指南,主要面向MongoDB数据库的运维团队,旨在帮助他们更好地维护和管理...
数据库:mysql、mongodb 运维监控工具:Open-Falcon 日志管理工具:ELK 持续集成工具:Jenkins 协作工具:confluence 缓存:redis 消息中间件:kafka、rocketmq web服务器:tomcat、nginx 容器引擎:docker
MongoDB副本集搭建及运维
在运维MongoDB平台时,理解其特性和最佳实践至关重要。以下是对MongoDB平台运维架构的详细解析: ### 特性介绍 1. **文档化**:MongoDB采用JSON格式的文档作为数据模型,支持嵌套数据结构,适合处理复杂的数据类型...
java运维笔试题MongoDB 面试题 ( v4.4 ) 如果您喜欢该项目,请单击。 拉取请求受到高度赞赏。 目录 问:什么是 NoSQL 数据库? NoSQL 数据库有哪些不同类型? NoSQL 是一种非关系型 DBMS,不需要固定模式,避免连接...
阿里云 专有云企业版 V3.9.0 云数据库 MongoDB 版 运维指南 20191017
五、MongoDB运维与监控 运维方面,可能涉及了监控工具的使用,如MMS(MongoDB Management Service)或MongoDB Ops Manager,它们可以帮助管理员监控数据库的性能、容量和健康状况。此外,备份和恢复策略也是运维中的...
为了帮助用户更好地安装、配置和维护该产品,阿里云发布了《阿里云专有云企业版V3.12.0云数据库MongoDB版运维指南20200622》。本文将依据该运维指南的内容,为用户提供一份详细的概要和使用指导。 ### 法律声明与...
阿里云专有云Enterprise版V3.5.0的云数据库MongoDB版运维指南主要针对的是企业级用户,提供了一套详细的管理和维护MongoDB数据库的指导。MongoDB是一款流行的开源NoSQL数据库,常用于处理大规模数据分布式存储。以下...
阿里云专有云企业版V3.7.0云数据库MongoDB版的运维指南主要针对的是企业级用户,提供了一套详细的操作和管理MongoDB数据库的指导。此文档旨在帮助用户理解和实施有效的数据库运维策略,确保数据库服务的稳定性和安全...
阿里云专有云企业版V3.6.2云数据库MongoDB版的运维指南主要针对的是使用MongoDB数据库的企业用户,旨在提供详细的操作和维护指导。以下是对文档内容的详细解读: 1. **法律声明**:文档明确了用户在使用阿里云服务...
数据库管理是MongoDB运维的核心工作,这部分内容介绍了如何进行用户权限管理、备份恢复、性能监控等。 ### **34. MongoDB概念和术语(Mongo Concepts and Terminology)** 这部分内容定义了MongoDB中常用的概念和...
- **备份与恢复**:制定合理的备份策略并在必要时进行数据恢复是MongoDB运维工作的重要组成部分。 综上所述,《最新MongoDB实战典藏版》不仅介绍了MongoDB的基础知识,还深入探讨了其在实际项目中的应用技巧和高级...