링크에 접속하여 다운로드를 진행한다.
링크에 접속하여 5.~ 버전의 Community Server를 다운로드한다.
https://www.mongodb.com/try/download/community-kubernetes-operator
링크에 접속하여 버전에 맞는 shell을 다운로드 한다.
https://www.mongodb.com/try/download/shell
데이터 베이스로 사용할 dir 생성
mkdir -p mongodb/data{1,2,3}
1번에서 다운받은 Community Server 파일의 bin 경로로 들어가 옵션을 실행한다.
명령어 해석 mongod
--replSet(replSet으로 구축한다)
rs0(rs0이라는 이름으로)
--port 27017(포트설정)
--bind_ip "0.0.0.0"(어디서든 접근할 수 있도록 허용한다.)
--dbpath ... (데이터 경로)
각각의 터미널을 열고 실행한다. (추후 각각의 프로세스가 하나의 프라이머리, 두개의 세컨더리로 설정된다.)
mongod --replSet rs0 --port 27017 --bind_ip "0.0.0.0" --dbpath /Users/dustin/Desktop/common/ReplicaSet/mongodb/data1 --oplogSize 128
mongod --replSet rs0 --port 27018 --bind_ip "0.0.0.0" --dbpath /Users/dustin/Desktop/common/ReplicaSet/mongodb/data2 --oplogSize 128
mongod --replSet rs0 --port 27019 --bind_ip "0.0.0.0" --dbpath /Users/dustin/Desktop/common/ReplicaSet/mongodb/data3 --oplogSize 128
새로운 터미널을 1번에서 다운받은 shell 파일의 bin 경로로 들어가 몽고 쉘에 접속한다.
./mongosh "mongodb://localhost:27017"
rs.status()로 현재 상태를 확인 후 config를 등록 해준다.
rs.initiate({ _id: "rs1", members: [ { _id: 0, host: "localhost:27017" }, { _id: 1, host: "localhost:27018" }, { _id: 2, host: "localhost:27019" }] });
다시 rs.status()를 입력하여 상태를 확인한다.
shell로 접속한 27017 포트의 데이터가 primary로 선출되어 있다.
오류 모음

이 오류의 원인은 예전 셋팅된 replSet 를 참고하고 있는 경우이다.
해결과정
몽고디비의 프로세스를 전부 종료 한 뒤 서버를 다시 실행한 후 커맨드에 재접속 한다.
db.adminCommand( { shutdown : 1} )를 통한 프로세스 종료 실행mongosh 커맨드에서 나온 후 서버 재시작
brew services restart mongodb/brew/mongodb-community@5.0다시 쉘이 접속하여 rs.status() 명령어 입력

이 부분에 대해서는 정확한 원인을 파악하지 못했다. 내가 진행했던 조치를 적어보자면,
- 모든 터미널을 종료한다.
- 몽고를 실행시킨 모든 포트를 찾아 개별적으로 종료시킨다. (27017, 27018, 27019)
- 백그라운드로 실행된 몽고 서버를 종료한다.
- 1~3번을 진행한 후에도 같은 에러가 발생한다면 재부팅한다.
이 오류를 다시 마주치면 해결할 자신이 없다..