
























#添加yum源
vim /etc/yum.repos.d/mongo.repo
[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://pgp.mongodb.com/server-4.4.asc
yum install -y mongodb-org
mkdir -p /data/mongo
mkdir -p /logs/mongo
touch /logs/mongo/mongod.log
openssl rand -base64 512 > /data/mongo/mongo.key #其他节点必须拷贝该文件,节点文件内容必须一致
chmod 400 /data/mongo/mongo.key
chown -R mongod:mongod /data/mongo
chown -R mongod:mongod /logs/mongo
vim /etc/mongod.conf
systemLog:
destination: file
logAppend: true
path: /logs/mongo/mongod.log
storage:
dbPath: /data/mongo
journal:
enabled: true
processManagement:
timeZoneInfo: /usr/share/zoneinfo
net:
port: 27017
bindIp: 0.0.0.0
security:
authorization: enabled
keyFile: /data/mongo/mongo.key
replication:
replSetName: rs0
systemctl start mongod
systemctl status mongod
systemctl enable mongod
#初始化集群
mongo --port 27017 #非本机 直接后面接服务器地址和端口 192.168.xx.xx:27017,注意替换下面地址为实际集群节点地址
rs.initiate( {
_id : "rs0",
members: [
{ _id: 0, host: "192.168.200.101:27017" },
{ _id: 1, host: "192.168.200.102:27017" },
{ _id: 2, host: "192.168.200.103:27017" }
]
})
rs.status() #查看节点状态及角色
mongo
use admin
db.createUser({ user:'admin',pwd:'ynOWq$%xWO3pvt2a ',roles:[ { role:'userAdminAnyDatabase', db: 'admin'}]});
db.auth('admin','ynOWq$%xWO3pvt2a ')
db.grantRolesToUser( "admin" , [ { role: "dbOwner", db: "admin" },{ "role": "clusterAdmin", "db": "admin" },{ "role": "userAdminAnyDatabase", "db": "admin" },{ "role": "dbAdminAnyDatabase", "db": "admin" }])
#创建root用户
db.createUser({user:"root",pwd:"9uKlHUVHS^L78dJB",roles:[{role:"root",db:"admin"}]});
db.grantRolesToUser ( "root", [ { role: "__system", db: "admin" } ] )
mongo #在主服务上操作,未认证用户可以通过rs.status() 查看 PRIMARY为master
use admin
db.auth('root','9uKlHUVHS^L78dJB')
rs.config(); #查看配置
rs.printSecondaryReplicationInfo() #检查复制滞后
db.hello() #参考 https://blog.csdn.net/wilsonzane/article/details/135388006
#读写测试
db.test.insert({ a:1 }) #master节点
mongo #SECONDARY节点
use admin
db.auth('root','9uKlHUVHS^L78dJB')
rs.secondaryOk() #默认SECONDARY节点不允许读
db.test.find({ a:1 })
{ "_id" : ObjectId("6731dc3dc131276c008d0459"), "a" : 1 }
4.1 打开链接根据平台下载对应的软件包并安装
https://www.mongodb.com/try/download/compass
4.2配置客户端连接
打开 MongoDBCompass,点击 "New Connection" 按钮,在 "Connection String 输入框中,输入副本集的连接字符串。
格式如下
"mongodb://主节点IP:主节点端口,从节点1IP:从节点1端口,从节点2IP:从节点2端口/?replicaSet=副本集名称"
以我们的副本集为例:
"mongodb://192.168.200.101:27017,192.168.200.102:27017,192.168.200.103:27017/replicaSet=rs0"



mogo
> use admin
switched to db admin
> db.auth('mongoAdmin','mongozd1103!')
1
db.grantRolesToUser("mongoAdmin", [
{ role: "dbAdmin", db: "direct-rent" }
]);
mongodump --uri='mongodb://zdmongo:zdblmongo!@192.168.60.181:27017/direct-rent' #默认会在当前目录下创建dump目录
mongorestore --uri="mongodb://root:9uKlHUVHS^L78dJB@192.168.200.102:27017" /mnt/dump
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。