首页
学习
活动
专区
工具
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.6K70
您找到你想要的搜索结果了吗?
是的
没有找到

如何在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.2K40

关系型数据库 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

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

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

2.3K30

不一样日志

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

24250

MongoDB备份与恢复

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

4.4K60

MongoDB备份与恢复

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

3K40

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

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

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

95320

MongoDB部署检查列表建议

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

1.2K30

学会这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 表示内核允许分配所有的物理内存,而不管当前内存状态如何

32420

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来查看先前插入所有数据是否都已消失

97400

关于GTID一些知识点补充

3.GTID始终保持在主从实例中,可以通过检查二进制日志来确定事务来源,此外,一旦在给定实例中提交了事务,具有相同GTID事务便会被该服务器忽略。...5.GTID维护 mysql库中表gtid_executed可以用来查看当前使用gtid集合,如下: mysql ::>>select * from mysql.gtid_executed...压缩进程名称可以通过下面的方法获得: mysql ::>>select * from performance_schema.threads where name like '%gtid%'\G ***...3.如果master已经具有大量数据,针对这种情况,可能不能使用上面的第二种方法,因为最原始binlog可能已经被删除了,无法从头开始获取所有的GTID信息,需要从master上获取数据以及该数据GTID...具体搭建步骤为: 3.1 利用备份方式获取master数据以及GTID范围,包含了gtid_purged(如果我们使用innobackupex备份将会将该信息保留在xtrabackup_binlog_info

53810
领券