복제본 세트의 이름을 바꾸려면 복제본 세트의 모든 구성원을 종료한 다음 각 멤버의 local 데이터베이스를 새 복제본 세트 이름으로 구성해야 합니다.
이 절차를 수행하려면 다운타임이 필요합니다.
전제 조건
복제본 세트가 샤딩되지 않았는지 확인합니다. 이름 변경 절차는 샤딩되지 않은 복제본 세트에만 적용됩니다.
복제본 세트의 이름을 변경하기 전에 MongoDB deployment 전체 백업을 수행하세요.
절차
복제본 세트의 이름을 변경합니다.
각 복제본 세트 멤버에 대해 다음 단계를 수행합니다.
--replSet옵션 없이 다른 포트에서 복제본 세트 멤버를 시작하세요.복제본 세트 이름을 업데이트합니다.
구성 파일을 사용하는 경우,
replication.replSetName을 새 이름으로 설정합니다.
복제본 세트 멤버에 연결합니다.
다음 명령을 사용하여 로컬 데이터베이스에서 복제본 세트 이름을 업데이트해야 합니다.
/* Set `newId` to the new replica set name */ var newId = '<new replica set name>' var doc = db.getSiblingDB("local").system.replset.findOne() var oldId = doc._id doc._id = newId db.getSiblingDB("local").system.replset.insertOne(doc) db.getSiblingDB("local").system.replset.deleteOne({_id: oldId}) 복제본 세트 멤버를 종료합니다.
참고
Ops Manager
If you are using Ops Manager, you must stop Ops Manager from managing the replica set before you shut down the replica set member. For more information on this procedure, see Remove a Process from Ops Management
기존 포트에서 복제본 세트 멤버를 시작합니다.
구성 파일을 사용하는 경우
replication.replSetName가 새 복제본 세트 이름으로 설정되어 있는지 확인합니다.