系统及MongoDB版本:
- Ubuntu 20.04.1
- MongoDB 4.0.3
创建目录
mkdir -p /mo4.0.3
mkdir -p /mo4.0.3/install
mkdir -p /mo4.0.3/mongodb
mkdir -p /mo4.0.3/mongodb/data
mkdir -p /mo4.0.3/mongodb/log
下载二进制包
cd /mo4.0.3/install
wget http://downloads.mongodb.org/linux/mongodb-linux-x86_64-4.0.3.tgz
解压包
tar -zxvf mongodb-linux-x86_64-4.0.3.tgz
移动文件至mongodb目录下
mv mongodb-linux-x86_64-4.0.3/* /mo4.0.3/mongodb
创建用户组与用户
groupadd mongo
useradd -g mongo -s /sbin/nologin mongo
配置环境变量
export PATH=/mo4.0.3/mongodb/bin:$PATH
source ~/.bashrc
用户赋权
chown -R mongo:mongo /mo4.0.3/mongodb/data
chown -R mongo:mongo /mo4.0.3/mongodb/log
创建配置文件
cd /mo4.0.3/mongodb/bin
vim mongo.conf
配置文件参数如下
processManagement:
fork: true
storage:
dbPath: /mo4.0.3/mongodb/data
journal:
enabled: true
systemLog:
destination: file
logAppend: true
path: /mo4.0.3/mongodb/log/mongod.log
net:
port: 27017
bindIp: 0.0.0.0
replication:
oplogSizeMB: 25000
replSetName: "rs"
启动MongoDB
cd /mo4.0.3/mongodb/bin
./mongod --config mongo.conf
查看服务运行状态
ps -ef | grep mongo
客户端连接MongoDB
mongo 192.168.x.x
如需关闭服务,执行以下命令
cd /mo4.0.3/mongodb/bin
./mongod --shutdown --config mongo.conf
创建账号
use admin
db.createUser(
... {
... user:"root",
... pwd:"root",
... roles:[{role:"root",db:"admin"}],
... mechanisms:["SCRAM-SHA-1"]
... }
... )
登录账号
db.auth("root","root")
按照上述操作,在三台机器部署好MongoDB后,即可开始进行副本集初始化。
初始化副本集
连接主节点MongoDB后执行。
cfg={
_id:"rs",
members:[ {_id:0,host:'192.168.x.x:27017',priority:2},
{_id:1,host:'192.168.x.x:27017',priority:1},
{_id:2,host:'192.168.x.x:27017',priority:0,hidden:true}] }
rs.initiate(cfg)
查看主节点
db.isMaster()
查看副本集各节点状态
rs.status()
查看副本集状态
rs.printReplicationInfo()
主库插入数据
db.test.insert({"name":"test"})
设置从库只读
db.getMongo().setSlaveOk();
从库验证数据
连接从库IP后查询验证数据是否同步。
db.test.findOne()