MongoDB 복제본 세트 이름을 바꾸려면 복제본 세트 의 모든 멤버를 종료한 다음 각 멤버의 local 데이터베이스 새 복제본 세트 이름으로 구성해야 합니다.
이 절차를 수행하려면 다운타임이 필요합니다.
전제 조건
복제본 세트가 샤딩되지 않았는지 확인합니다. 이름 변경 절차는 샤딩되지 않은 복제본 세트에만 적용됩니다.
복제본 세트의 이름을 변경하기 전에 MongoDB deployment 전체 백업을 수행하세요.
절차
1
2
복제본 세트의 이름을 변경합니다.
각 복제본 세트 멤버에 대해 다음 단계를 수행합니다.
--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
Ops Manager를 사용하는 경우 복제본 세트 멤버를 종료하기 전에 Ops Manager에서 복제본 세트 관리를 중지해야 합니다. 이 절차에 대한 자세한 내용은 운영 관리에서 프로세스 제거를 참조하세요.
기존 포트에서 복제본 세트 멤버를 시작합니다.
구성 파일을 사용하는 경우
replication.replSetName가 새 복제본 세트 이름으로 설정되어 있는지 확인합니다.