开启副本集的认证
- 内部节点之间的认证,使用共享的keyfile
openssl rand -base64 90 > /usr/local/mongodb4.4.1/conf/mongo.keyfile
#设置可读
chmod 400 /usr/local/mongodb4.4.1/conf/mongo.keyfile
- 配置项
security:
keyFile: /usr/local/mongodb4.4.1/conf/mongo.keyfile
authorization: enabled
- 重启副本集的mongod实例
- 连接主节点,并创建用户
#连接到主节点
mongo localhost:27017
>show dbs; #无法读取,因为需要认证
>use admin;
>db.createUser({user:"lauf",pwd:"lauf123",roles:[{role:"root",db:"admin"}]})
>db.auth("lauf","lauf123")
>show dbs;
命令行方式认证连接:
mongo localhost:27017 -u lauf -p --authenticationDatabase admin
分片集部署
组件:\
配置服务器,存储分片集群的元数据,如集合的分片、集合的名称、存储的地址等,在实际的生产环境中每个配置服务器一般配置为三成员的副本集,然后配置多个服务节点。\
路由服务器,即为mongos,为分片集群提供路由选择的服务,本质是一个mongod进程,但是本身不存储数据,集群启动时,从配置服务器加载数据,从而得到集群的整体信息。在实际生产环境中,通常启动一个或者多个mongos进程。\
分片服务器,实际的数据存储节点,实际使用时,每个分片服务器通常配置为一个三成员副本集,然后配置多个这样的分片服务器。
分片集群启动顺序:
- 启动配置服务器
- 启动路由服务器
- 启动分片服务器
- 连接mongos,并创建数据库,为数据库启用分片
- 在数据库中,创建一个集合,为集合创建索引,在索引字段创建范围分片。
优点:
- 实现数据的分布式的读写,数据切片存储
- 提高可靠性、可扩展性
