本次搭建mongodb采用的是一主一从一仲裁
1、配置文件mongo.conf
systemLog:
destination: file
path: /da/mongodblog/mongo.log
logAppend: true storage:
journal:
enabled: true
dbPath: /da/dbfile/
directoryPerDB: true
engine: wiredTiger
wiredTiger:
engineConfig:
cacheSizeGB: 20
directoryForIndexes: true
indexConfig:
prefixCompression: true processManagement:
fork: true net:
port: 27017 replication:
replSetName: rs1
oplogSizeMB: 250000 security:
keyFile: /usr/local/mongodb/keyfile
具体配置根据可调整!
2.运行三个mongo 如果没创建账号密码先创建账号密码 随便找一个执行
db.createUser({user:“admin”,pwd:“123456”,roles[{role:“userAdminAnyDatabase”,db:“admin”}]})
角色说明
read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限 dbOwner: readWrite + dbAdmin + dbAdmin
创建完账号之后执行以下命令 完成一主一从一仲裁
config={ _id:“rs1”, members:[
{_id:0,host:‘172.30.1.11:27017’,priority:2},
{_id:1,host:‘172.30.1.23:27017’,priority:1},
{_id:2,host:‘172.30.1.123:27017’,arbiterOnly:true}] };再执行这个
rs.initiate(config) #使配置生效
创建数据库和查看数据是否插入
use ware
db.ware.insert({“name”:“菜鸟教程”})
WriteResult({ “nInserted” : 1 })