当前位置: 首页 > news >正文

湖北住房与城乡建设部网站长春网站建设团队

湖北住房与城乡建设部网站,长春网站建设团队,小程序制作公司开发,国家建设执业注册中心网站副本集重命名 要重命名副本集,您必须关闭副本集的所有成员,然后使用新的副本集名称配置每个成员的数据库。 此过程需要停机。 先决条件 确保您的副本集未分片。重命名过程仅适用于未分片的副本集。 在重命名副本集之前,请 对 MongoDB 部…

副本集重命名

要重命名副本集,您必须关闭副本集的所有成员,然后使用新的副本集名称配置每个成员的数据库。

此过程需要停机。

先决条件

确保您的副本集未分片。重命名过程仅适用于未分片的副本集。

在重命名副本集之前,请 对 MongoDB 部署执行完整备份。

做好备份非常重要,无论如何,请先在测试环境验证后再执行该操作

启用身份验证后,请确保您的用户角色对每个成员数据库中的集合具有 find、insert 和 remove 权限。

db.runCommand({rolesInfo: { role: "xxxxx", db: "yyyyyy" },showPrivileges: true}
)

授权

db.getUser("admin")
{"_id" : "admin.admin","userId" : UUID("adb37ec9-89e9-464b-a241-029194bec6ef"),"user" : "admin","db" : "admin","roles" : [{"role" : "root","db" : "admin"}],"mechanisms" : ["SCRAM-SHA-1","SCRAM-SHA-256"]
}db.createRole({role: "collectionRole",privileges: [{ resource: { db: "local", collection: "system.replset" }, actions: [ "find", "remove", "insert" ] }],roles: []}
)db.grantRolesToUser("admin",[{"role":"collectionRole","db":"admin"}])db.getUser("admin")
{"_id" : "admin.admin","userId" : UUID("adb37ec9-89e9-464b-a241-029194bec6ef"),"user" : "admin","db" : "admin","roles" : [{"role" : "root","db" : "admin"},{"role" : "collectionRole","db" : "admin"}],"mechanisms" : ["SCRAM-SHA-1","SCRAM-SHA-256"]
}

关闭副本集成员

此步骤需要停机,因为所有副本成员都需要关闭。

当前副本集名称 “set” : “sit_rs1”

{"set" : "sit_rs1","date" : ISODate("2023-11-10T08:08:08.707Z"),"myState" : 1,......"members" : [{"_id" : 1,"name" : "192.168.88.11:27018","health" : 1,"state" : 2,"stateStr" : "SECONDARY",......},{"_id" : 3,"name" : "192.168.88.11:27017","health" : 1,"state" : 1,"stateStr" : "PRIMARY",......},{"_id" : 4,"name" : "192.168.88.11:27019","health" : 1,"state" : 2,"stateStr" : "SECONDARY",.....}],"ok" : 1,"$clusterTime" : {"clusterTime" : Timestamp(1699603684, 1),"signature" : {"hash" : BinData(0,"yDDKmbDiNNhNxzN+xh20IjGyr3o="),"keyId" : NumberLong("7236938018798436354")}},"operationTime" : Timestamp(1699603684, 1)
}

关闭副本集成员,三台都关闭

# shutdown 27019
su mongodb -s /bin/bash -c "/usr/local/mongodb/bin/mongod --dbpath /data/mongodb27019/data  --port 27019  --shutdown"# shutdown 27018
su mongodb -s /bin/bash -c "/usr/local/mongodb/bin/mongod --dbpath /data/mongodb27018/data  --port 27018  --shutdown"# shutdown 27017
su mongodb -s /bin/bash -c "/usr/local/mongodb/bin/mongod --dbpath /data/mongodb/data  --port 27017  --shutdown"

重命名副本集

对每个副本集成员执行以下步骤: ( 以其中一台 27019 为例 )

  • 不带 --replSet 该选项 的情况下在不同端口上启动副本集成员 (如下注释掉 replication 选项。 端口改为 28019
root@ubuntu-x64_01:/opt# cat /etc/mongod27019.conf  
systemLog:destination: filepath: "/data/mongodb27019/log/mongod.log"logAppend: true
storage:dbPath: "/data/mongodb27019/data"journal:enabled: truedirectoryPerDB: true
processManagement:fork: true  
net:bindIp: localhost,192.168.88.11#port: 27019port: 28019maxIncomingConnections: 65536
security:keyFile: "/data/mongodb27019/data/replsetAIK"clusterAuthMode: "keyFile"authorization: enabled
#replication:
#   replSetName: "sit_rs1"
#   enableMajorityReadConcern: true

启动副本集成员:

root@ubuntu-x64_01:/opt# su mongodb -s /bin/bash -c "/usr/local/mongodb/bin/mongod --config /etc/mongod27019.conf 2>&1 >/dev/null &"

更新副本集名称。

如果使用配置文件,请设置 replication.replSetName 为新名称。replSetName: “sit_rs1” 变更为 replSetName: “local_rs1”

root@ubuntu-x64_01:/opt# cat /etc/mongod27019.conf 
systemLog:destination: filepath: "/data/mongodb27019/log/mongod.log"logAppend: true
storage:dbPath: "/data/mongodb27019/data"journal:enabled: truedirectoryPerDB: true
processManagement:fork: true  
net:bindIp: localhost,192.168.88.11#port: 27019port: 28019maxIncomingConnections: 65536
security:keyFile: "/data/mongodb27019/data/replsetAIK"clusterAuthMode: "keyFile"authorization: enabled
replication:replSetName: "local_rs1"enableMajorityReadConcern: true

使用以下命令更新本地数据库中的副本集名称:

> use local 
switched to db local> db.system.replset.find().pretty()
{"_id" : "sit_rs1","version" : 20,"term" : 249,"protocolVersion" : NumberLong(1),"writeConcernMajorityJournalDefault" : true,"members" : [{"_id" : 1,"host" : "192.168.88.11:27018","arbiterOnly" : false,"buildIndexes" : true,"hidden" : false,"priority" : 1,"tags" : {},"slaveDelay" : NumberLong(0),"votes" : 1},{"_id" : 3,"host" : "192.168.88.11:27017","arbiterOnly" : false,"buildIndexes" : true,"hidden" : false,"priority" : 1,"tags" : {},"slaveDelay" : NumberLong(0),"votes" : 1},{"_id" : 4,"host" : "192.168.88.11:27019","arbiterOnly" : false,"buildIndexes" : true,"hidden" : false,"priority" : 1,"tags" : {},"slaveDelay" : NumberLong(0),"votes" : 1}],"settings" : {"chainingAllowed" : true,"heartbeatIntervalMillis" : 2000,"heartbeatTimeoutSecs" : 10,"electionTimeoutMillis" : 10000,"catchUpTimeoutMillis" : -1,"catchUpTakeoverDelayMillis" : 30000,"getLastErrorModes" : {},"getLastErrorDefaults" : {"w" : 1,"wtimeout" : 0},"replicaSetId" : ObjectId("6305db8beb57aaf6f57b130e")}
}> var newId = 'local_rs1'> var doc = db.getSiblingDB("local").system.replset.findOne()> var oldId = doc._id> print(oldId, newId)
sit_rs1 local_rs1> doc._id = newId
local_rs1> db.getSiblingDB("local").system.replset.insertOne(doc)
{ "acknowledged" : true, "insertedId" : "local_rs1" }> db.getSiblingDB("local").system.replset.deleteOne({_id: oldId})
{ "acknowledged" : true, "deletedCount" : 1 }> db.getSiblingDB("local").system.replset.find().pretty()
{"_id" : "local_rs1","version" : 20,"term" : 249,"protocolVersion" : NumberLong(1),"writeConcernMajorityJournalDefault" : true,"members" : [{"_id" : 1,"host" : "192.168.88.11:27018","arbiterOnly" : false,"buildIndexes" : true,"hidden" : false,"priority" : 1,"tags" : {},"slaveDelay" : NumberLong(0),"votes" : 1},{"_id" : 3,"host" : "192.168.88.11:27017","arbiterOnly" : false,"buildIndexes" : true,"hidden" : false,"priority" : 1,"tags" : {},"slaveDelay" : NumberLong(0),"votes" : 1},{"_id" : 4,"host" : "192.168.88.11:27019","arbiterOnly" : false,"buildIndexes" : true,"hidden" : false,"priority" : 1,"tags" : {},"slaveDelay" : NumberLong(0),"votes" : 1}],"settings" : {"chainingAllowed" : true,"heartbeatIntervalMillis" : 2000,"heartbeatTimeoutSecs" : 10,"electionTimeoutMillis" : 10000,"catchUpTimeoutMillis" : -1,"catchUpTakeoverDelayMillis" : 30000,"getLastErrorModes" : {},"getLastErrorDefaults" : {"w" : 1,"wtimeout" : 0},"replicaSetId" : ObjectId("6305db8beb57aaf6f57b130e")}
}

关闭副本集成员,在其原始端口上启动副本集成员。如果使用配置文件,请确保将其 replication.replSetName 已经设置为新的副本集名称。

replication:replSetName: "local_rs1"enableMajorityReadConcern: true

在其原始端口上启动副本集成员。

root@ubuntu-x64_01:/opt#  cat /etc/mongod27019.conf
systemLog:destination: filepath: "/data/mongodb27019/log/mongod.log"logAppend: true
storage:dbPath: "/data/mongodb27019/data"journal:enabled: truedirectoryPerDB: true
processManagement:fork: true  
net:bindIp: localhost,192.168.88.11port: 27019maxIncomingConnections: 65536
security:keyFile: "/data/mongodb27019/data/replsetAIK"clusterAuthMode: "keyFile"authorization: enabled
replication:replSetName: "local_rs1"enableMajorityReadConcern: true

按上面的操作,在另外两个实例都执行一遍后, 执行修改后,整个副本集状态如下:

local_rs1:PRIMARY> rs.status()
{"set" : "local_rs1","date" : ISODate("2023-11-15T11:25:05.087Z"),"myState" : 1,"term" : NumberLong(251),"syncSourceHost" : "","syncSourceId" : -1,"heartbeatIntervalMillis" : NumberLong(2000),"majorityVoteCount" : 2,"writeMajorityCount" : 2,"votingMembersCount" : 3,"writableVotingMembersCount" : 3,"optimes" : {"lastCommittedOpTime" : {"ts" : Timestamp(1700047503, 1),"t" : NumberLong(251)},"lastCommittedWallTime" : ISODate("2023-11-15T11:25:03.985Z"),"readConcernMajorityOpTime" : {"ts" : Timestamp(1700047503, 1),"t" : NumberLong(251)},"readConcernMajorityWallTime" : ISODate("2023-11-15T11:25:03.985Z"),"appliedOpTime" : {"ts" : Timestamp(1700047503, 1),"t" : NumberLong(251)},"durableOpTime" : {"ts" : Timestamp(1700047503, 1),"t" : NumberLong(251)},"lastAppliedWallTime" : ISODate("2023-11-15T11:25:03.985Z"),"lastDurableWallTime" : ISODate("2023-11-15T11:25:03.985Z")},"lastStableRecoveryTimestamp" : Timestamp(1700047503, 1),"electionCandidateMetrics" : {"lastElectionReason" : "electionTimeout","lastElectionDate" : ISODate("2023-11-15T11:16:43.867Z"),"electionTerm" : NumberLong(251),"lastCommittedOpTimeAtElection" : {"ts" : Timestamp(0, 0),"t" : NumberLong(-1)},"lastSeenOpTimeAtElection" : {"ts" : Timestamp(1699610346, 1),"t" : NumberLong(249)},"numVotesNeeded" : 2,"priorityAtElection" : 1,"electionTimeoutMillis" : NumberLong(10000),"numCatchUpOps" : NumberLong(0),"newTermStartDate" : ISODate("2023-11-15T11:16:43.877Z"),"wMajorityWriteAvailabilityDate" : ISODate("2023-11-15T11:16:44.535Z")},"members" : [{"_id" : 1,"name" : "192.168.88.11:27018","health" : 1,"state" : 2,"stateStr" : "SECONDARY","uptime" : 511,"optime" : {"ts" : Timestamp(1700047503, 1),"t" : NumberLong(251)},"optimeDurable" : {"ts" : Timestamp(1700047503, 1),"t" : NumberLong(251)},"optimeDate" : ISODate("2023-11-15T11:25:03Z"),"optimeDurableDate" : ISODate("2023-11-15T11:25:03Z"),"lastAppliedWallTime" : ISODate("2023-11-15T11:25:03.985Z"),"lastDurableWallTime" : ISODate("2023-11-15T11:25:03.985Z"),"lastHeartbeat" : ISODate("2023-11-15T11:25:04.468Z"),"lastHeartbeatRecv" : ISODate("2023-11-15T11:25:03.448Z"),"pingMs" : NumberLong(0),"lastHeartbeatMessage" : "","syncSourceHost" : "192.168.88.11:27019","syncSourceId" : 4,"infoMessage" : "","configVersion" : 20,"configTerm" : 251},{"_id" : 3,"name" : "192.168.88.11:27017","health" : 1,"state" : 2,"stateStr" : "SECONDARY","uptime" : 26,"optime" : {"ts" : Timestamp(1700047503, 1),"t" : NumberLong(251)},"optimeDurable" : {"ts" : Timestamp(1700047503, 1),"t" : NumberLong(251)},"optimeDate" : ISODate("2023-11-15T11:25:03Z"),"optimeDurableDate" : ISODate("2023-11-15T11:25:03Z"),"lastAppliedWallTime" : ISODate("2023-11-15T11:25:03.985Z"),"lastDurableWallTime" : ISODate("2023-11-15T11:25:03.985Z"),"lastHeartbeat" : ISODate("2023-11-15T11:25:04.520Z"),"lastHeartbeatRecv" : ISODate("2023-11-15T11:25:04.285Z"),"pingMs" : NumberLong(0),"lastHeartbeatMessage" : "","syncSourceHost" : "192.168.88.11:27019","syncSourceId" : 4,"infoMessage" : "","configVersion" : 20,"configTerm" : 251},{"_id" : 4,"name" : "192.168.88.11:27019","health" : 1,"state" : 1,"stateStr" : "PRIMARY","uptime" : 16264,"optime" : {"ts" : Timestamp(1700047503, 1),"t" : NumberLong(251)},"optimeDate" : ISODate("2023-11-15T11:25:03Z"),"lastAppliedWallTime" : ISODate("2023-11-15T11:25:03.985Z"),"lastDurableWallTime" : ISODate("2023-11-15T11:25:03.985Z"),"syncSourceHost" : "","syncSourceId" : -1,"infoMessage" : "","electionTime" : Timestamp(1700047003, 1),"electionDate" : ISODate("2023-11-15T11:16:43Z"),"configVersion" : 20,"configTerm" : 251,"self" : true,"lastHeartbeatMessage" : ""}],"ok" : 1,"$clusterTime" : {"clusterTime" : Timestamp(1700047503, 1),"signature" : {"hash" : BinData(0,"FkEFPk5B3ZB364V3c3RkkEoBChI="),"keyId" : NumberLong("7236938018798436354")}},"operationTime" : Timestamp(1700047503, 1)
}

回收权限,由于角色是临时授权的,操作结束后,回收该集合的变更权限

local_rs1:PRIMARY> use admin 
switched to db adminlocal_rs1:PRIMARY> db.getUser("admin")
{"_id" : "admin.admin","userId" : UUID("adb37ec9-89e9-464b-a241-029194bec6ef"),"user" : "admin","db" : "admin","roles" : [{"role" : "root","db" : "admin"},{"role" : "collectionRole","db" : "admin"}],"mechanisms" : ["SCRAM-SHA-1","SCRAM-SHA-256"]
}local_rs1:PRIMARY> db.revokeRolesFromUser("admin",[{"role":"collectionRole","db":"admin"}])local_rs1:PRIMARY> db.getUser("admin")
{"_id" : "admin.admin","userId" : UUID("adb37ec9-89e9-464b-a241-029194bec6ef"),"user" : "admin","db" : "admin","roles" : [{"role" : "root","db" : "admin"}],"mechanisms" : ["SCRAM-SHA-1","SCRAM-SHA-256"]
}
http://www.yidumall.com/news/28454.html

相关文章:

  • 北戴河网站建设seo推广价格
  • 自己做的网站为什么访问不100个免费推广b站
  • 快速网页制作软件谷歌广告优化
  • 武安做网站网站查询入口
  • dede网站怎么做单页面广东疫情防控措施
  • 做的最好的相亲网站优化大师班级优化大师
  • 微信商城小程序免费制作平台百度推广优化技巧
  • 做微信活动是做网站还是做小程序好视频号的网站链接
  • wordpress建站收录快百度如何购买关键词
  • 盘县 网站建设外贸推广平台怎么做
  • 做网页收款网站专业的网站优化公司
  • 律师网站建设推荐2022社会热点事件及看法
  • 合肥制作企业网站怎么制作链接网页
  • 百度seo官网抖音seo怎么收费
  • 网站要去公安局备案吗短视频营销常用平台有
  • 包车哪个网站做的最好优化大师电脑版官网
  • 用什么制作网站免费二级域名查询网站
  • 郑州网站建设排行榜搜索引擎的优化方法有哪些
  • 网站托管服务合同营销培训课程ppt
  • 商标转让查询网优化外包服务公司
  • 关于门户网站建设关键词歌词简谱
  • 佛山高端网站制作公司哪家好微信广告朋友圈投放
  • 做网站生成btc地址网页设计收费标准
  • vue手机网站开发代运营
  • 网站维护外包中山网站seo
  • 学生创业做网站制作设计怎么做微信小程序
  • 东莞哪些网络公司做网站比较好友情链接怎么连
  • 内蒙古网站建设价格手机建站
  • 网站内容管理系统seo实战培训费用
  • 豪华网站建设百度网址大全网站大全