1. 主页
  2. 文档
  3. MongoDB初学者教程——7天学习MongoDB
  4. MongoDB安全,监控和备份(Mongodump)

MongoDB安全,监控和备份(Mongodump)

MongoDB中的关键概念之一是数据库管理。当涉及到数据库管理时,安全性,备份,对数据库的访问等重要方面都是重要概念。

在本教程中,您将学习–

  • 数据库安全概述
  • 备份程序-mongodump
  • MongoDB监控
  • 索引编制和性能注意事项

 

MongoDB安全概述

MongoDB能够定义数据库的安全性机制。默认情况下,我们当然不希望任何人都可以对MongoDB中的每个数据库进行开放访问操作,因此在MongoDB中具有某种安全机制的要求很重要。

下面是在数据库中实现安全性的最佳操作:

  1. 启用访问控制–创建用户,以便在访问MongoDB上的数据库时强制所有应用程序和用户具有某种身份验证机制。
  2. 配置基于角色的访问控制–有时可能需要对权限进行逻辑分组,这些分组可以包含在角色中。然后可以将用户分配给这些角色。
  3. 尝试将MongoDB配置为使用某种加密协议,例如TLS或SSL。这些协议可用于加密在客户端和mongo DB环境之间流动的流量。
  4. 配置审计–管理员通常需要知道谁在做什么,这有助于以后分析问题。最好的方法是在MongoDB中启用审计。
  5. 使用单独的用户ID运行MongDB服务器实例,该用户ID可以访问服务器环境上的所需资源。

 

MongoDB备份程序-mongodump

使用MongDB时,务必确保备份过程顺利,成功,以防MongoDB中的数据由于任何原因而损坏。

以下是MongoDB的备份机制:

  1. 通过复制底层数据文件进行备份–这可能是最简单的机制,所要做的就是复制MongoDB所在的数据文件,理想情况是将其复制到是另外一台服务器。
  2. 使用mongodump备份数据库-mongodump工具从MongoDB数据库读取数据并创建高保真BSON文件。需要注意,如果数据量很大,mongodump可能会占用大量资源,所以,为缓解这种情况,应该在辅助服务器上运行此程序。
  3. MongoDB Cloud Manager备份-MongoDB Cloud Manager通过从MongoDB环境中读取操作日志数据来持续备份MongoDB副本集和分片群集。MongoDB Cloud Manager可以通过存储操作日志数据来创建时间点恢复,以便随时为特定副本集或分片集群进行恢复。

 

MongoDB监控

监控是MongoDB中最关键的管理活动之一。这是因为通过监控环境中可能出现的问题,以便更好的解决问题。

下面是一些实施监控的例子:

  1. mongostat将告诉您服务器上实际上发生了多少次数据库操作,例如插入,查询,更新,删除等。这将为服务器处理多少负载提供一个参照,并将指示您是否需要服务器上的其他资源,或者可能需要其他服务器来分配负载。
  2. mongotop跟踪并报告MongoDB实例的当前读写活动,并基于每个集合报告这些统计信息。
  3. MongoDB提供了一个Web界面,可在一个简单的网页中显示诊断和监视信息。可以浏览到本地服务器上的以下URL,以打开Web管理实用程序http:// localhost:28017
  4. serverStatus命令或命令程序中的serverStatus()返回数据库状态的概述,包括磁盘使用情况,内存使用情况,与MongoDB环境建立的连接等详细信息。

 

MongoDB索引和性能影响

  1. 索引在任何数据库中都非常重要,可用于提高MongoDB中的搜索查询效率。如果您继续在文档中执行搜索,则最好在搜索条件中使用的文档字段上添加索引。
  2. 尝试始终限制返回的查询结果的数量。假设在文档中有2个字段名称,只想从文档中看到2个字段。所以,确保查询仅针对显示需要的2个字段,而不是所有字段。
  3. 如果要查看某些字段值,则在查询中使用这些字段。如果不需要,请不要查询集合中的所有字段。

 

摘要:

  • 在数据库中使用安全机制是很重要的,这样才可以确保数据库中的数据保持安全。
  • 可以使用createUser命令在数据库中创建用户。可以将特定角色分配给用户,以赋予他们对数据库本身的特定权限。
  • 可以为所有数据库添加管理员,仅针对特定数据库添加。这可以通过授予userAdmin或userAdminAnyDatabase角色来实现。
  • 始终备份MongoDB数据,以便在发生任何灾难的情况下都可以轻松恢复数据。
  • 始终监控MongoDB环境,能让我们在问题发生之前,更主动的发现问题。

 

译者:徐扬

源地址:https://www.guru99.com/database-management-mongodb.html

这篇文章对您有用吗? 1

我们要如何帮助您?

评论 2

评论前必须登录!

 

  1. #1

    MongoDB安全概述 中第三句:“这些协议可在客户端进行加密,或者mongo DB环境之间流动的流量。”翻译出错了。应该是“这些协议可用于加密在客户端和mongo DB环境之间流动的流量。”

    xixo4年前 (2020-07-07)