CentOS 7 MongoDB 설치하기
오늘은 CentOS에 몽고디비를 설치하여 테스트해 볼 일이 생겼는데, 간단하게
설치하는 방법에 대해 알아보겠습니다. 오늘은 설치만 해보고 개념에 대한 설명은
개인적으로 공부하여 따로 포스팅하도록 하겠습니다 :)
1. 먼저 패키지 관리 시스템에 MongoDB 저장소를 추가합니다.
vi /etc/yum.repos.d/mongodb-org-3.4.repo
yum update시 mongodb가 자동으로 업데이트 되는 것을 방지하기 위해 아래 코드를 추가합니다.
vi /etc/yum.conf
exclude=mongodb-org,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools
2. 아래와 같은 내용을 입력하고 저장합니다.
[mongodb-org-3.4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
3. 몽고디비 패키지 및 관련 도구를 설치합니다.
sudo yum install -y mongodb-org
4. Selinux를 사용한다면 mongodb의 기본 포트에 액세스 권한을 허용해줍니다.
semanage port -a -t mongod_port_t -p tcp 27017
5. 방화벽에서 mongodb의 포트를 열어줍니다.
firewall-cmd --permanent --zone=public --add-port=27017/tcp
firewall-cmd --reload
firewall-cmd --list-all
6. 시작프로그램에 mongodb 설정
sudo systemctl enable mongod
sudo systemctl start mongod
7. mongodb를 실행해봅니다.
sudo service mongod start
로그를 출력하여 정상적으로 실행되었는지 확인해봅니다.
cat /var/log/mongodb/mongod.log
8. 접근 제한 없이 MongoDB에 접속
mongod --port 27017 --dbpath /data/db
9. 인스턴스에 연결
mongo --port 27017
10. 사용자를 관리할 계정을 만듭니다.
use admin
db.createUser(
{
user: "myUserAdmin",
pwd: "abc123",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
11. MongoDB 접근 제한, dbpath 설정
mongod --auth --port 27017 --dbpath /data/db
12. 위에서 생성한 사용자 관리자로 연결하고 인증합니다.
mongo --port 27017 -u "myUserAdmin" -p "abc123" --authenticationDatabase "admin"
13. 실행에 필요한대로 사용자도 추가해줍니다.
use test
db.createUser(
{
user: "myTester",
pwd: "xyz123",
roles: [ { role: "readWrite", db: "test" },
{ role: "read", db: "reporting" } ]
}
)
14. 추가한 사용자로 로그인 해봅니다.
mongo --port 27017 -u "myTester" -p "xyz123" --authenticationDatabase "test"
이상으로 몽고디비를 설치해보았는데, 다음 장에서는 몽고디비 기본적인 명령어들에 대해 다뤄보겠습니다.
참고사이트 : https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/