# 下载
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1604-4.2.8.tgz
# 解压
tar -zxvf mongodb-linux-x86_64-ubuntu1604-4.2.8.tgz
# 将解压包拷贝到指定目录
mv mongodb-src-r4.2.8 /usr/local/mongodb4
vi /etc/profile
#mongodb
export PATH=$PATH:/usr/local/mongodb4/bin
# 使立即生效
source /etc/profile
cd /usr/local/mongodb4/
mkdir data
mkdir logs
cd /root/mongodb/bin
#配置文件内容
vi mongodb.conf
dbpath = /usr/local/mongodb4/data #数据文件存放目录
logpath = /usr/local/mongodb4/logs/mongodb.log #日志文件存放目录
port = 27017 #端口
fork = true #以守护程序的方式启用,即在后台运行
#auth=true #需要认证。如果放开注释,就必须创建MongoDB的账号,使用账号与密码才可远程访问,第一次安装建议注释
bind_ip=0.0.0.0 #允许远程访问,或者直接注释,127.0.0.1是只允许本地访问
mongod -f mongodb.conf
数据库用户角色:read、readWrite
数据库管理角色:dbAdmin、dbOwner、userAdmin
集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager
备份恢复角色:backup、restore
所有数据库角色: readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
超级用户角色:root
# 连接mongodb数据库
[root@localhost mongodb4]# mongo --port 27111
# 切换amdin系统库
> use admin
# 创建admin用户,show users 可以查看数据库用户
> db.createUser({user : ‘admin‘ , pwd : ‘admin‘, roles : [{role : ‘root‘, db : ‘admin‘}]})
以一台机器为例, 127.0.0.1:27111(主), 127.0.0.1:27112(从), 127.0.0.1:27113(仲裁)
vi mongodb-master.conf
dbpath = /usr/local/mongodb4/data/master #数据文件存放目录
logpath = /usr/local/mongodb4/logs/mongodb-master.log #日志文件存放目录
port = 27111 #端口
fork = true #以守护程序的方式启用,即在后台运行
#auth=true #需要认证。如果放开注释,就必须创建MongoDB的账号,使用账号与密码才可远程访问,第一次安装建议注释
bind_ip=0.0.0.0 #允许远程访问,或者直接注释,127.0.0.1是只允许本地访问
replSet=mySet #副本集名称
vi mongodb-slave.conf
dbpath = /usr/local/mongodb4/data/slave #数据文件存放目录
logpath = /usr/local/mongodb4/logs/mongodb-slave.log #日志文件存放目录
port = 27112 #端口
fork = true #以守护程序的方式启用,即在后台运行
#auth=true #需要认证。如果放开注释,就必须创建MongoDB的账号,使用账号与密码才可远程访问,第一次安装建议注释
bind_ip=0.0.0.0 #允许远程访问,或者直接注释,127.0.0.1是只允许本地访问
replSet=mySet #副本集名称
vi mongodb-arbiter.conf
dbpath = /usr/local/mongodb4/data/arbiter #数据文件存放目录
logpath = /usr/local/mongodb4/logs/mongodb-arbiter.log #日志文件存放目录
port = 27113 #端口
fork = true #以守护程序的方式启用,即在后台运行
#auth=true #需要认证。如果放开注释,就必须创建MongoDB的账号,使用账号与密码才可远程访问,第一次安装建议注释
bind_ip=0.0.0.0 #允许远程访问,或者直接注释,127.0.0.1是只允许本地访问
replSet=mySet #副本集名称
mongod -f config/mongodb-master.conf
mongod -f config/mongodb-slave.conf
mongod -f config/mongodb-arbiter.conf
# 连接主库
mongo --port 27111
#集群配置变量
>config_set={"_id":"mySet",members:[{_id:0,host:"127.0.0.1:27117"},{_id:1,host:"127.0.0.1:27217"},{_id:2,host:"127.0.0.1:27317",arbiterOnly:true}]}
#启动集群
>rs.initiate(config_set)
>rs.reconfig(cfg, {force:true}); //覆盖操作
#查看集群状态
>rs.status() # health:1 //1表明状态是正常,0表明异常 # state:1 // 1表明是primary,2表明是slave,即做备份的机器
原文:https://www.cnblogs.com/JOKI/p/14689290.html