首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MongoDB用户和角色解释系列(上)

动作是我们可以对数据库进行所有类型的操作,例如查找、删除、插入、更新或创建索引。资源可以是集合、文档、索引、数据库等等。使用只读视图,管理员通过限制对只公开其子集的敏感数据的访问来获得字段级安全性。...2.2 如何启用访问控制 在启动mongod服务时,可以使用参数指定数据库的特性,或者更好的方法是使用配置文件。...2.3 如何创建用户 在创建MongoDB用户之前,有必要考虑一下用户将要执行的任务。可能会有几个具有相同权限级别的用户,所以最明智的选择是创建一个角色并将其分配给每个用户。...3.2.1 数据库用户角色 数据库级别角色如下: 读——读取所有非系统集合上的数据 读写——包括所有“读”角色特权和在所有非系统集合上写数据的能力 3.2.2 数据库管理员角色 可以使用的数据库管理员角色如下...backup——提供备份数据所需的特权 restore——提供从备份中还原数据所需的特权 3.2.5 所有数据库角色 这些角色位于管理数据库上,并提供适用于所有数据库的特权。

1.5K20

大神教你轻松玩转Docker和Kubernetes中如何运行MongoDB微服务介绍对于MongoDB的思考利用Docker和Kubernetes实现MongoDB冗余备份冗余控制命名为mongo-r

文介绍了利用Docker和Kubernetes搭建一套具有冗余备份集合的MongoDB服务,从容器对CI和CD引发的改变入手,讨论了容器技术对MongoDB带来的挑战和机会,然后实战如何部署一套稳定的MongoDB...希望通过执行一个简单的命令,然后就有一个轻量级、自组织的沙盒么?并可再通过一条命令就可以移除所有的痕迹么? 需要在多个环境中运行相同的应用程序栈?...当编排框架掌控所有容器的状态时,它并不管理容器内的应用或者备份数据。...本节将对这部分细节进行分析,并介绍如何实现。 首先,我们在一个单独的Kubernetes集群(同一个数据中心内,并不存在物理上的冗余备份)中创建整个MongoDB冗余集合。...多个可用区域MongoDB冗余集合 所有冗余部件均运行在同一个GCE集群上时具有很高的风险,在同一个zone的集群也一样。

1.7K70
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何在Ubuntu 14.04上备份,还原和迁移MongoDB数据库

    导入示例MongoDB数据库 除非另有说明,否则本教程中需要root权限的所有命令都应作为具有可以使用sudo权限的非root用户运行。 了解基础知识 在继续本文之前,需要对此问题有一些基本的了解。...mongodumpis的一个重要参数--db,它指定要备份的数据库的名称。如果未指定数据库名称,mongodump将备份所有数据库。第二个重要参数是--out,它指定转储数据的目录。...恢复和迁移MongoDB数据库 通过从先前的备份(例如上一步中的一个)恢复MongoDB数据库,您将能够获得在特定时间获取的MongoDB信息的精确副本,包括所有索引和数据类型。...作为参数,我们首先使用--db参数指定数据库的名称。然后使用--drop,我们将确保首先删除目标数据库,以便在干净的数据库中恢复备份。...如果您希望将数据迁移到另一台服务器并使用相同的技术,则只需将备份目录(在我们的示例中为/var/backups/mongobackups/01-20-16/newdb/)复制到另一台服务器即可。

    1.3K40

    关系型数据库 MySQL 你不知道的 28 个小技巧

    多实践操作 数据库系统具有极强的操作性,需要多动手上机操作。在实际操作的过程中才能发现问题, 并思考解决问题的方法和思路,只有这样才能提高实战的操作能力。 1、MySQL中如何使用特殊字符?...任何时候使用具有 AND 和 OR 操作符的 WHERE 子句,都应该使用圆括号明确操作顺序。...16、存储过程的参数不要与数据表中的字段名相同。 在定义存储过程参数列表时,应注意把参数名与数据库表中的字段名区别开来,否则将出 现无法预期的结果。 17、存储过程的参数可以使用中文吗?...在使用触发器的时候需要注意,对于相同的表,相同的事件只能创建一个触发器,比如对 表 account 创建了一个 BEFORE INSERT触发器,那么如果对表 account 再次创建一个 BEFORE...这在某种程度上实现了数据库之间的迁移。 23、如何选择备份工具? 直接复制数据文件是最为直接、快速的备份方法,但缺点是基本上不能实现增量备份。备 份时必须确保没有使用这些表。

    1.7K40

    告诉你 38 个 MySQL 数据库的小技巧!

    多实践操作 数据库系统具有极强的操作性,需要多动手上机操作。在实际操作的过程中才能发现问题, 并思考解决问题的方法和思路,只有这样才能提高实战的操作能力。 02 如何选择服务器的类型?...使用合适的存储引擎,将会提高整个数据库的性能。 04 如何查看默认存储引擎? 使用 SHOW ENGINES 语句查看系统中所有的存储引擎,其中包括默认的存储引擎。...同样的,在使用 ALTER TABLE 进行表的基本修改操作时,在执行操作过程之前,也应该确保对数据进行完整的备份,因为数据库的改变是无法撤销的,如果添加了一个不需要的字段,可以将其删除;相同的,如果删除了一个需要的列...26 存储过程的参数不要与数据表中的字段名相同 在定义存储过程参数列表时,应注意把参数名与数据库表中的字段名区别开来,否则将出 现无法预期的结果。...这在某种程度上实现了数据库之间的迁移。 33 如何选择备份工具 直接复制数据文件是最为直接、快速的备份方法,但缺点是基本上不能实现增量备份。备份时必须确保没有使用这些表。

    2.6K40

    时间序列数据和MongoDB:第b二部分 - 架构设计最佳实践

    用于生成样本数据的 StockGen 工具将生成相同的数据并将其存储在两个不同的集合中:StockDocPerSecond 和 StockDocPerMinute,每个集合包含以下模式: 场景一: 每个数据点一个文档...场景三: 基于大小的分组 比较之前的场景时的关键点是,分段数据具有显着的优势。方案2中描述的基于时间的分段将整整一分钟的数据存储到单个文档中。...固定大小的分段数据将产生非常类似的数据库存储和索引改进,如在场景2中每次分段时所见。这是在 MongoDB 中存储稀疏的 IoT 数据的最有效方法之一。 如何处理旧数据 我们应该永久存储所有数据吗?...超过特定时间的数据对您的组织有用吗?旧数据应该如何访问?它是否可以在您需要时从备份中简单地恢复,还是需要在线并且可以作为历史分析的活动存档实时访问用户?...时间序列应用程序传统上捕获非常大量的数据,因此只创建它们对应用程序的查询模式有用的索引。 考虑多个集合:一个集中于编写大量插入和最近的数据查询,另一个集合具有重叠在预聚合数据上的历史查询的分块数据。

    1.3K40

    不一样的日志

    在数据库系统里,我们要区分日志、表和文件的细微区别。文件指的是字节的集合,表是记录的集合,集合本身是可以无序,可以修改的,而日志的载体可以是表,也可以是文件,但是其中存储的数据记录必须时间有序的。...日志会记录整个数据库发生的所有的变化。...后来,随着系统备份重要性的提升,日志也被当做了数据同步的工具,备份系统可以从主库中抽取数据,自行解析其日志,而不影响主库的运行,完成数据的备份。...分布式系统里的日志 在分布式系统里,日志主要解决了如何保证数据顺序以及数据分布两个问题。...分布式系统非常依赖这个原则,只要系统内部各个机器的程序只要在读入相同的日志时都会输出相同的结果,这使得数据可以分布在集群中,而不用担心数据会在不同机器产生不同的结果,并且日志本身具有的时间有序,可以有效的确定一个时间发生的先后顺序

    25250

    时间序列数据和MongoDB:第二部分 - 架构设计最佳实践

    用于生成样本数据的 StockGen 工具将生成相同的数据并将其存储在两个不同的集合中:StockDocPerSecond 和 StockDocPerMinute,每个集合包含以下模式: 场景一: 每个数据点一个文档...场景三: 基于大小的分组 比较之前的场景时的关键点是,分段数据具有显着的优势。方案2中描述的基于时间的分段将整整一分钟的数据存储到单个文档中。...固定大小的分段数据将产生非常类似的数据库存储和索引改进,如在场景2中每次分段时所见。这是在 MongoDB 中存储稀疏的 IoT 数据的最有效方法之一。 如何处理旧数据 我们应该永久存储所有数据吗?...超过特定时间的数据对您的组织有用吗?旧数据应该如何访问?它是否可以在您需要时从备份中简单地恢复,还是需要在线并且可以作为历史分析的活动存档实时访问用户?...时间序列应用程序传统上捕获非常大量的数据,因此只创建它们对应用程序的查询模式有用的索引。 考虑多个集合:一个集中于编写大量插入和最近的数据查询,另一个集合具有重叠在预聚合数据上的历史查询的分块数据。

    2.4K30

    MongoDB的备份与恢复

    定值大小的集合,oplogSizeMB: 2048,oplog是具有幂等性,执行过后的不会反复执行。...即对一个数据集合,使用oplog中记录的操作重放时,无论被重放多少次,其结果会是一样的。   举例来说,如果oplog中记录的是一个插入操作,并不会因为你重放了两次,数据库中就得到两条相同的记录。...一起使用时,可以限制重放到的时间点   首先要明白的一个问题是数据之间互相有依赖性,比如集合A中存放了订单,集合B中存放了订单的所有明细,那么只有一个订单有完整的明细时才是正确的状态。   ...监控及时获得应用的运行状态信息,在问题出现时及时发现。 监控什么?...恢复效率 低 下载备份集 +  导入数据 +  建立索引 高 下载备份集 +  启动进程 备份影响 大 直接与业务争抢资源 小 备份集大小 比原库小 无需备份索引数据 与原库相同 兼容性 兼容绝大部分版本

    4.5K60

    MongoDB的备份与恢复

    定值大小的集合,oplogSizeMB: 2048,oplog是具有幂等性,执行过后的不会反复执行。...即对一个数据集合,使用oplog中记录的操作重放时,无论被重放多少次,其结果会是一样的。   举例来说,如果oplog中记录的是一个插入操作,并不会因为你重放了两次,数据库中就得到两条相同的记录。...一起使用时,可以限制重放到的时间点   首先要明白的一个问题是数据之间互相有依赖性,比如集合A中存放了订单,集合B中存放了订单的所有明细,那么只有一个订单有完整的明细时才是正确的状态。   ...监控及时获得应用的运行状态信息,在问题出现时及时发现。 监控什么?...恢复效率 低 下载备份集 +  导入数据 +  建立索引 高 下载备份集 +  启动进程 备份影响 大 直接与业务争抢资源 小 备份集大小 比原库小 无需备份索引数据 与原库相同 兼容性 兼容绝大部分版本

    3.1K40

    MySQL数据库实用技巧

    多实践操作   数据库系统具有极强的操作性,需要多动手上机操作。在实际操作的过程中才能发现问题, 并思考解决问题的方法和思路,只有这样才能提高实战的操作能力。 2、如何选择服务器的类型?...使用合适的存储引擎,将会提高整个数据库的性能。 4、如何查看默认存储引擎?   使用SHOW ENGINES语句查看系统中所有的存储引擎,其中包括默认的存储引擎。...任何时候使用具有AND和OR操作符的WHERE子句,都应该使用圆括号明确操作顺序。...26、存储过程的参数不要与数据表中的字段名相同。   在定义存储过程参数列表时,应注意把参数名与数据库表中的字段名区别开来,否则将出 现无法预期的结果。 27、存储过程的参数可以使用中文吗?   ...这在某种程度上实现了数据库之间的迁移。 33、如何选择备份工具?   直接复制数据文件是最为直接、快速的备份方法,但缺点是基本上不能实现增量备份。备份时必须确保没有使用这些表。

    2.5K10

    告诉你38个MySQL数据库的小技巧!

    多实践操作 数据库系统具有极强的操作性,需要多动手上机操作。在实际操作的过程中才能发现问题, 并思考解决问题的方法和思路,只有这样才能提高实战的操作能力。 2、如何选择服务器的类型?...使用合适的存储引擎,将会提高整个数据库的性能。 4、如何查看默认存储引擎? 使用SHOW ENGINES语句查看系统中所有的存储引擎,其中包括默认的存储引擎。...任何时候使用具有AND和OR操作符的WHERE子句,都应该使用圆括号明确操作顺序。...26、存储过程的参数不要与数据表中的字段名相同。 在定义存储过程参数列表时,应注意把参数名与数据库表中的字段名区别开来,否则将出 现无法预期的结果。 27、存储过程的参数可以使用中文吗?...这在某种程度上实现了数据库之间的迁移。 33、如何选择备份工具? 直接复制数据文件是最为直接、快速的备份方法,但缺点是基本上不能实现增量备份。备 份时必须确保没有使用这些表。

    2.6K10

    学会这15点,让你分分钟拿下Redis数据库

    集合中,成功返回1,如果元素存在返回0 smembers 返回指定的集合中所有的元素 srem 删除指定集合的某个元素 zset(sorted set 有序集合) 是string类型的有序集合,也不可重复...monitor #实时监控 config get #获得服务配置 flushdb #删除当前选择的数据库中的key flushall #删除所有数据库中的key...AOF文件备份,是备份所有的历史记录以及执行过的命令,和mysql binlog很相似,在恢复时就是重新执次一次之前执行的命令,需要注意的就是在恢复之前,和数据库恢复一样需要手工删除执行过的del或误操作的命令...,相对内存开销也较小 在linux环境运行Redis时,如果系统的内存比较小,这个时候自动备份会有可能失败,需要修改系统的vm.overcommit_memory 参数,这个参数是linux系统的内存分配策略...1 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。

    34620

    什么是RAID?2000字即可将RAID 0、1、5 和 10讲透,收藏!

    RAID 阵列由至少两个硬盘驱动器组成,这些硬盘驱动器被集合为一个更大、更强大的硬盘驱动器。 下面圈圈将带大家讨论RAID 是什么、它的作用以及应该怎么选择RAID 0、1、5 和 10 。...使用 RAID 0 比获得具有相同容量的大硬盘驱动器更快,因为您将只有一个硬盘驱动器处理数据,而不是阵列中的多个驱动器。...但是,RAID 0 不具有任何冗余(或备份)的功能,这意味着如果您的一个驱动器出现故障,您将丢失该驱动器上的所有数据。...因此,如果您有三个硬盘驱动器,每个硬盘驱动器具有 500GB 的存储空间,您将只能获得 1TB 的容量,因为三分之一的空间将分配给冗余。 此设置最适合存储关键数据和运行需要良好速度和效率的应用程序。...如果您至少有四个驱动器,RAID 10 将提高您只有一个驱动器的速度,并且您可以获得冗余的优势。 但是,这也意味着您必须购买更多驱动器,而您只能获得所有驱动器的一半容量。

    1.1K20

    MongoDB部署检查列表建议

    确保所有实例都使用日志。 模式设计 MongoDB中的数据有一个动态设计。集合强制执行文档结构。这有助于迭代开发和多态性。然而,集合通常保存具有高度同质结构的文档。有关详细信息,请参阅数据建模概念。...确定支持查询所需的集合集和所需的索引。除了_id 索引之外,您必须显式地创建所有索引:MongoDB不会自动创建除_id之外的任何索引。...复制 - 验证所有非隐藏副本集成员在 RAM,CPU,磁盘,网络设置等方面的配置是否相同。...硬件 - 使用 RAID10 和 SSD 驱动器可获得最佳性能。 - SAN 和虚拟化: 确保每个mongod 已为其 数据库文件存储路径配置了 IOPS,或者具有自己的物理驱动器或 LUN。...- 使用默认分配单元大小的4096 字节格式化NTFS磁盘。 备份 - 安排定期测试备份和恢复过程,以便手头有时间估计,并验证其功能。

    1.2K30

    37 个 MySQL 数据库小技巧,不看别后悔!

    多实践操作 数据库系统具有极强的操作性,需要多动手上机操作。在实际操作的过程中才能发现问题, 并思考解决问题的方法和思路,只有这样才能提高实战的操作能力。 2、如何选择服务器的类型?...使用合适的存储引擎,将会提高整个数据库的性能。 4、如何查看默认存储引擎? 使用SHOW ENGINES语句查看系统中所有的存储引擎,其中包括默认的存储引擎。...任何时候使用具有AND和OR操作符的WHERE子句,都应该使用圆括号明确操作顺序。...26、存储过程的参数不要与数据表中的字段名相同。 在定义存储过程参数列表时,应注意把参数名与数据库表中的字段名区别开来,否则将出 现无法预期的结果。 27、存储过程的参数可以使用中文吗?...这在某种程度上实现了数据库之间的迁移。 33、如何选择备份工具? 直接复制数据文件是最为直接、快速的备份方法,但缺点是基本上不能实现增量备份。备 份时必须确保没有使用这些表。

    1.8K20

    如何在Ubuntu 14.04上创建和使用MongoDB备份

    幸运的是,MongoDB提供了简单的命令行工具来创建和使用备份。本教程将介绍如何使用这些工具。 要了解备份如何在不篡改现有数据库的情况下工作,本教程将首先引导您创建一个新数据库并向其中添加少量数据。...与MongoDB实例交互的最简单方法是使用mongoshell。使用mongo命令打开它。 mongo 获得MongoDB提示后,使用帮助程序use创建一个名为myDatabase的新数据库。...use myDatabase output switched to db myDatabase MongoDB数据库中的所有数据都应属于集合。但是,您不必显式创建集合。...第3步 - 创建备份 要创建备份,可以使用名为mongodump的命令行实用程序。默认情况下,mongodump将创建MongoDB实例中存在的所有数据库的备份。...db.dropDatabase(); 如果删除成功,您将看到以下消息: { "dropped" : "myDatabase", "ok" : 1 } 您现在可以使用集合的方法find来查看先前插入的所有数据是否都已消失

    1K00

    Kafka副本与ISR设计(I)

    在Kafka中一个分区日志其实就是一个备份日志,kafka利用多个相同备份日志来提高系统的可用性。这些备份日志其实就是所谓的副本。...Kafka的所有节点所有副本假设都在正常运行,那么leader副本会一直不变,但是所谓世界上没有绝对稳定的系统,一旦kafa的leader副本节点出现了问题,那么follower副本需要竞争上岗成为leader...因此Kafka内部维护了一组具有资格的follower副本,他们统称ISR。 ISR中的副本会被剔除,也会有新增。...):LEO总是指向下一条消息写入的位置,处在leader的HW和LEO之间的消息表示还未完全备份。...ISR ISR其实就是Kafka内部维护的具有竞争上岗的一组与leader同步follower的副本集合。

    80220
    领券