0
点赞
收藏
分享

微信扫一扫

MongoDB入门总结

MongoDB是一个​开源、高性能、无模式的文档型数据库​,当初的设计就是用于简化开发和方便扩展,是NoSQL数据库产品中的一种。是最像关系型数据库(MySQL)的非关系型数据库。

​MySQL和MongoDB对比:

SQL术语/概念

MongoDB属于/概念

解释/说明

database

databases

数据库

table

collection

数据库表/集合

row

document

数据记录行/文档

column

field

数据字段/域

index

index

索引

primary key

primary key

主键

MongoDB的​​最小存储单位就是文档(document)对象​​​。​​文档(document)对象​​对应于关系型数据库的​​行​​。数据在MongoDB中以​​BSON(Binary-JSON)​​文档的格式存储在磁盘上。

MongoDB下载地址:​​Download MongoDB Community Server | MongoDB​​

MongoDB集群:副本集和分片集群

副本集:类似于redis的哨兵模式,组成成员包含主节点、副本成员(从节点)、仲裁者。

  • 主节点(Primary):主要接受所有写操作
  • 从节点(Replicate):从主节点通过复制操作以维护相同的数据集,即备份数据,不可写操作,但可以读操作
  • 仲裁者(Arbiter):不保留任何数据的副本,只具有投票选举作用。当然也可以将仲裁服务器维护为副 本集的一部分,即副本成员同时也可以是仲裁者

分片集群:类似于redis集群模式,组成成员主要包含:​分片节点、路由节点(mongos)、配置节点(config servers)

  • 分片(存储):每个分片包含分片数据的子集。 每个分片都可以部署为副本集。
  • mongos (路由):mongos充当查询路由器,在客户端应用程序和分片集群之间提供接口。
  • config servers (”调度” 的配置):配置服务器存储群集的元数据和配置设置。 从MongoDB 3.4 开始,必须将配置服务器部署为副本集(CSRS)。

安全认证

默认情况下,NongoDB实例启动是没有开启用户访问控制的,通过公网IP和端口都可以访问,这样是很危险的。开启用户访问控制(验证用户名和密码)的方法有两种:

  • 执行启动命令时加上--auth
  • 在配置mongo的配置文件,加上

security:
authorization: enabled

MongoDB的用户是基于角色管理的,不同的角色有不同的权限。在创建用户时,需先切换到相应的库,然后创建用户的命令指定用户名、密码、角色、库名。

use test
db.createUser(
{
user: "myTester",
pwd: passwordPrompt(), // or cleartext password
roles: [ { role: "readWrite", db: "test" },
{ role: "read", db: "reporting" } ]
}
)

参考文档​​ https://mongodb.net.cn/manual/tutorial/enable-authentication/​​

举报

相关推荐

0 条评论