EC2 서버와 robo3T를 연결 해보자
$ mongo
터미널에서 명령어를 입력하면 긴 글과 마지막에
>
이 표시되면 정상적으로 MongoDB에 접속이 된 거라고 보면 된다.
$ use admin
$ db.createUser({user: "test", pwd: "test", roles:["root"]});
입력 했을 때
Successfully added user: { "user" : "test", "roles" : [ "root" ] }
라고 뜨면 성공
$ db.auth("아이디", "비밀번호")
$ db.getUsers();
: db.auth로 로그인 할 수 있다 (정상적인 로그인이라면 리턴 값은 1이다)
: 로그인 상태에서 getUsers() 를 입력하면 권한에 대한 정보가 나온다
$ sudo vi /etc/mongod.conf
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0
# how the process runs
processManagement:
timeZoneInfo: /usr/share/zoneinfo
security:
authorization: "enabled"
수정 후, esc + :wq 로 저장해주기
$ sudo service mongod restart
save 버튼을 누르기 전에 왼쪽의 Test 를 눌러서 EC2 서버와 연결이 잘 됐는지 확인 해주자
이렇게 나오면 성공적으로 EC2 서버와 robo3T가 연결 되었다
자신의 프로젝트에서 mongoose.connect 를 수정해주자
const connect = () => {
mongoose
.connect('mongodb://test:test@localhost:27017/admin', {
dbName:'설정하고 싶은 db이름',
ignoreUndefined: true,
})
.catch((error) => {
console.error(error);
});
};
다시 서버를 실행 시켜주면 잘 되는것을 확인 할 수 있다.
EC2 서버와 robo3T를 연결 하다보면 잘 되지 않을 때가 있는데, 그때 Mongo 를 입력 해보면 MongoDB가 잘 실행되지 않는 것을 볼 수 있다.
이 방법을 따라서 MongoDB를 재설치 해주면 된다
https://velog.io/@kjhxxxx/MongoDB-%EC%9A%B0%EB%B6%84%ED%88%AC-18.04-MongoDB-%EC%9E%AC%EC%84%A4%EC%B9%98