Hayden's Archive
[MongoDB/Linux] 우분투에 몽고DB 설치 및 외부 접속 허용 / MongoDB Compass로 외부 접속 본문
[MongoDB/Linux] 우분투에 몽고DB 설치 및 외부 접속 허용 / MongoDB Compass로 외부 접속
_hayden 2020. 11. 6. 09:26클라우드 서버에 몽고DB를 설치해서 외부 접속을 허용할 일이 있었다.
내 우분투에서는 몽고DB 공식 홈페이지에 접속해서 deb 설치 파일을 다운 받아서 설치했지만, 클라우드 서버에서는 명령어로 설치해야 했다.
그래서 우분투에 몽고DB 설치 및 외부 접속 허용 방법을 정리해본다.
아래 공식 매뉴얼을 참고해서 우분투에 몽고DB를 설치한다.
몽고DB를 시작하고
$ sudo systemctl start mongod
아래 명령어로 mongod.conf 설정 파일을 연다.
$ sudo nano /etc/mongod.conf
다음과 같이 설정 파일을 수정한다.
security 는 데이터베이스 접속시 인증이 필요하게 하는 것이다.
net:
port: 27017
bind_ip: 0.0.0.0
몽고DB를 중단하고 다시 시작한다.
$ sudo systemctl stop mongod
$ sudo systemctl start mongod
mongo 쉘을 실행한다.
$ mongo
admin 데이터베이스를 추가하고, 관리자를 추가한다.
use admin
db.createUser({
user: "계정이름",
pwd: "비밀번호",
roles: [
{
role: "root",
db: "admin"
}
]}
)
이제 새로운 데이터베이스를 만들고, 읽고 쓸 수 있는 사용자를 생성한다.
use 데이터베이스명
db.createUser({
user: "사용자아이디",
pwd: "사용자비밀번호",
roles: [
{
role: "readWrite",
db: "데이터베이스명"
}
]}
)
참고 : use "데이터베이스"로 데이터베이스에 들어간 후 db.getUsers()를 치면 현재 등록된 사용자들을 볼 수 있다.
이제 로컬의 MongoDB Compass로 들어가서 연결한다.
Hostname에는 ip 주소, Username에는 위에서 추가한 아이디, Password에는 위의 비밀번호, Authentication Database에는 위의 데이터베이스를 입력하면 된다.
부팅시 몽고DB 자동 실행은 아래 블로그 글을 참고하자.
참고 : blog.rhostem.com/posts/2018-08-31-mongodb-connection
위와 관련한 crontab에 관련된 설명이다.
khanrc.tistory.com/entry/cron-crontab%EC%9D%98-%EA%B0%9C%EB%85%90