2020. 12. 12. 01:44ㆍDatabase/MongoDB
1. Windows MongoDB 설치
1) MongoDB 설치
공식 홈페이지(www.mongodb.com/)에서 Community Server와 GUI 클라이언트인 Compass를 설치한다.
2) 환경 변수 설정
시스템의 환경 변수에 MongoDB의 bin 경로를 지정해준다.
C:\Program Files\MongoDB\Server\4.2\bin
3) 테스트
설정이 끝나면 윈도우 커맨드창에서 'mongodb' 명령을 입력하면 27017 로컬 기본 포트로 연결된다. 테스트를 위해 'testdb'를 사용하여 데이터를 넣고 조회해본다.
use testdb
// 삽입
db.testdb.save({'name':'oz'});
db.testdb.save({'name':'ozofweird'});
// 조회
db.testdb.find()
// 쿼리 플랜 및 서버 정보
db.testdb.find().explain()
2. Mac MongoDB 설치
1) MongoDB 설치 및 확인
brew를 이용하여 몽고 DB를 설치해준다.
brew tap mongodb/brew
brew install mongodb-community
mongo --version
2) MongoDB Compass 설치
공식 홈페이지에서 MongoDB Compass를 설치해준다.
3. AWS EC2 MongoDB 설치
1) 인스턴스 생성
인스턴스를 생성하고 보안 그룹에서 27017 포트 번을 허용해준다.
2) MongoDB 설치 및 실행
우선 사용하는 인스턴스가 Amazon Linux 혹은 Amazon Linux AMI인지 확인한다.
grep ^NAME /etc/*release
사용하는 리눅스를 확인한 뒤, yum을 이용하여 손쉽게 다운받을 수 있도록 /etc/yum.repos.d/mongodb-org-4.4.repo파일을 생성해준다.
[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/amazon/2/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
MongoDB를 설치해준다.
sudo yum install -y mongodb-org
3) 디렉토리 확인
설치가 완료되면 데이터 파일과 로그 파일이 사용자 계정으로 자동 생성된다. 만약 다른 MongoDB 사용자로 변경할 경우, 해당 디렉토리의 권한을 변경한 사용자 계정으로 부여해주어야 한다.
데이터 파일과 로그 파일의 위치를 변경하려면 '/etc/mongod.conf' 설정 파일에 storage.dbPath와 systemLog.path 항목을 수정해주면 된다.
- /var/lib/mongo : 데이터 파일
- /var/log/mongodb : 로그 파일
4) MongoDB 실행
MongoDB를 실행하려면 'systemd(systemctl)'로 실행하는 방법과 'init(service)'로 실행하는 방법이 있다. 사용하고자 하는 방법에 따라 서비스를 실행하면 된다.
// 사용중인 init 시스템 정보
ps --no-headers -o comm 1
// systemd 방법
sudo systemctl start mongod
// init 방법
sudo service mongod start
문서에서는 systemd로 실행할 경우 'Failed to start mongod.service: Unit mongod.service not found.' 문제가 발생할 시, 하단의 명령을 입력하고 재실행하면 해결할 수 있다고 한다.
sudo systemctl daemon-reload
5) 상태 확인 및 재부팅 자동 실행
sudo systemctl status mongod
sudo systemctl enable mongod
6) 서비스 중지 및 재시작
sudo systemctl stop mongod
sudo systemctl restart mongod
7) MongoDB 쉘 시작
mongo
8) MongoDB Compass 접속
기본적으로 MongoDB를 실행할 경우, 인스턴스 내부에서만 접속이 가능하도록 설정되어있다. 이를 해결하기 위해서는 '/etc/mongod.conf'파일 수정이 필요하다.
우선 MongoDB 쉘에서 root 계정을 생성해준다.
> use admin
> db.createUser({
... user: "root",
... pwd: "[비밀번호]",
... roles: ["root"]
...})
생성이 완료되면 'exit' 명령으로 쉘을 종료하고, '/etc/mongod.conf'파일에서 네트워크 인터페이스 항목을 외부에서도 접속할 수 있도록 수정해준다. 만약 보안 항목에 인증이 활성화되어 있다면 비활성화 해준다.
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0 # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.
#security:
# authorization: 'enabled'
[참고] docs.mongodb.com/manual/tutorial/install-mongodb-on-amazon/
'Database > MongoDB' 카테고리의 다른 글
[MongoDB] Text Search (0) | 2020.12.17 |
---|---|
[MongoDB] Bulk Write, Retryable Write/Read (0) | 2020.12.16 |
[MongoDB] CRUD (0) | 2020.12.15 |
[MongoDB] SQL, NoSQL, MongoDB (0) | 2020.12.12 |