DB의 경우 보통 local에 설치하기 보다는 Docker를 이용하여 Container로 관리하고는 한다.
Docker를 이미 사용하고 있다면, Docker Image를 다운받아 간편하게 사용할 수 있다.
하지만, 가끔 local 환경에 설치하고 싶을 때가 있을 수도 있다.
이번에는 Document 기반의 NoSQL인 MongoDB을 설치해보자.
Amazon Linux 2023
을 기준으로 진행하였기에
Amazon Linux 1
이나 Amazon Linux 2
를 사용하는 경우 차이가 있을 수 있다.
[출처: https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-amazon/]
먼저 yum package manager를 통해 설치하기 위해 설정 파일을 작성하자
sudo vim /etc/yum.repos.d/mongodb-org-7.0.repo
[mongodb-org-7.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/amazon/2023/mongodb-org/7.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-7.0.asc
설정 파일 작성을 완료하였다면, yum package manager를 통해 설치를 진행하자
sudo yum install mongodb-org
MongoDB의 설치를 완료했다면 MongoDB을 실행해보자
sudo systemctl start mongod
MongoDB가 정상적으로 실행중인지 확인해보자
sudo systemctl status mongod
만약, 재부팅시에 자동으로 MongoDB를 실행시키려면
sudo systemctl enable mongod
명령어를 통해 등록하면 된다.
MongoDB에 접속하기 위해 MongoDB Shell을 사용해보자
mongosh
를 입력하여 접속을 진행하게 되는데
설치된 MongoDB Shell에 따라서 다음과 같은 오류가 발생할 수 있다.
mongosh: OpenSSL configuration error:
이러한 경우 MongoDB Shell의 OpenSSL 버전을 설치해서 해결할 수 있다.
sudo dnf install mongodb-mongosh-shared-openssl3
만약, 기존의 MongoDB Shell 때문에 설치에 문제가 발생한다면
sudo dnf erase mongodb-mongosh
를 통해 기존의 MongoDB Shell을 제거하고 진행하자
기존의 MongoDB Shell을 제거하면서 MongoDB까지 제거하지 않도록 주의하자
실수로 MongoDB까지 제거하였다면 MongoDB를 다시 설치해주면 된다.
설치가 제대로 완료되었는지 다음 명령어를 입력해 목록을 확인해보자
sudo dnf list installed | grep mongo
위와 같이 MongoDB Shell의 OpenSSL 버전의 설치가 완료된 것을 확인했다면
mongosh
를 입력하여 접속이 되는지 다시 확인해보자
MongoDB Shell을 통해 접속에 성공하였다면 계정을 생성해보자
MongoDB의 계정은 데이터베이스 별로 관리된다.
먼저 사용할 db를 선택하자
use admin
다음과 같이 계정을 생성하자
db.createUser({ user: "계정이름", pwd: "비밀번호", roles: [{ role: "root", db: "admin" }] });
admin db에 (계정이름, 비밀번호)로 된 root 권한을 가진 계정을 생성한다는 의미이다.
다양한 권한을 부여하고 싶다면 아래 링크를 참고하자
[참고: https://www.mongodb.com/docs/manual/reference/built-in-roles/]
이렇게 생성한 계정의 정보는
use [계정을 생성한 db]
show users
를 통해 확인할 수 있다.
또한
use [계정을 생성한 db]
db.auth("계정이름", "비밀번호")
를 통해 해당 계정정보로 로그인이 제대로 되는지 확인할 수 있다.