首先需要了解两个概念。一、什么是MongoDB副本集?副本集是一组mongod维护相同数据集的实例,它提供了数据的冗余备份,在多个服务器上存储数据副本,提高了数据的可用性,并可以保证数据的安全性;并且可以在服务中断异常中恢复数据。二、MongoDB副本集的原理?mongodb的复制至少需要两个节点。其中一个是主节点,负责处理客户端请求,其余的都是从节点,负责复制主节点上的数据。常见的搭配方式为:一主一从、一主多从。主节点记录在其上的所有操作oplog,从节点定期轮询主节点获取这些操作,然后对自己的数据副本执行这些操作,从而保证从节点的数据与主节点一致。 https://www.h5w3.com/python/538610.html
一、安装mongodb
1、配置yum源
创建mongodb的源文件 /etc/yum.repos.d/mongodb-org-5.0.repo,添加内容
代码语言:javascript复制[mongodb-org-5.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/5.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-5.0.asc
然后直接安装,执行
代码语言:javascript复制yum install -y mongodb-org
二、修改配置
1、创建key文件
key文件的作用是,为副本集之间做通信认证
代码语言:javascript复制openssl rand -base64 756 > /opt/mongodb/mongodb.key
chmod 400 /opt/mongodb/mongodb.key
chown mongod:mongod /opt/mongodb/mongodb.key
2、修改配置文件
安装后,在 /etc/mongodb.conf 找到配置文件
代码语言:javascript复制security:
keyFile: /opt/mongodb/mongodb.key
replication:
replSetName: "rs0"
net:
bindIp: localhost,本机的ip地址
三、启动
更改sock文件权限
代码语言:javascript复制# 使用yum安装,默认的用户为mongod
chown mongod /tmp/mongodb-27017.sock
启动节点
代码语言:javascript复制mongod --config <path-to-config>
其他节点安装如上,确保key文件相同
四、初始化副本集
执行命令 mongosh,进入命令行界面,执行以下命令
代码语言:javascript复制rs.initiate( {
_id : "rs0",
members: [
{ _id: 0, host: "192.168.0.1:27017" },
{ _id: 1, host: "192.168.0.2:27017" },
{ _id: 2, host: "192.168.0.3:27017" }
]
})
五、创建用户
执行命令mongosh,进入命令行界面,执行以下命令
代码语言:javascript复制db.createUser({user: "admin", pwd: passwordPrompt(),
roles: [{role:"userAdminAnyDatabase", db:"admin"},
{role:"readWriteAnyDatabase",db:"admin"}]})