우분투 18.04 기준으로 되어있습니다.
1. MongoDB 설치
wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
sudo apt-get install gnupg
wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list
sudo apt-get update
sudo apt-get install -y mongodb-org=4.2.3 mongodb-org-server=4.2.3 mongodb-org-shell=4.2.3 mongodb-org-mongos=4.2.3 mongodb-org-tools=4.2.3
위와같이 설치할경우 리눅스에 설치된 디렉토리는
2 . 폴더 생성 및 conf 파일 생성
실행파일
/usr/bin/mongo
설치경로
/var/lib/mongo
설치경로에 3가지의 폴더와 파일을 만들어야한다.
mkdir /var/lib/mongo/master
mkdir /var/lib/mongo/master/log
mkdir /var/lib/mongo/slave1
mkdir /var/lib/mongo/slave1/log
mkdir /var/lib/mongo/arbiter
mkdir /var/lib/mongo/arbiter/log
그다음 위의 경로에 아래의 conf 파일을 각각 생성해준다.
master 파일.
# mongod.conf
# Where and how to store data.
storage:
dbPath: /var/lib/mongodb/master
journal:
enabled: true
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/lib/mongodb/master/log/mongod.log
# network interfaces
net:
port: 26016
bindIp: 127.0.0.1
processManagement:
timeZoneInfo: /usr/share/zoneinfo
fork: true
replication:
replSetName: "replica"
slave 파일.
# mongod.conf
# Where and how to store data.
storage:
dbPath: /var/lib/mongodb/slave1
journal:
enabled: true
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/lib/mongodb/slave1/log/mongod.log
# network interfaces
net:
port: 26026
bindIp: 127.0.0.1
processManagement:
timeZoneInfo: /usr/share/zoneinfo
fork: true
replication:
replSetName: "replica"
arbiter
# mongod.conf
# Where and how to store data.
storage:
dbPath: /var/lib/mongodb/arbiter
journal:
enabled: true
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/lib/mongodb/arbiter/log/mongod.log
# network interfaces
net:
port: 26036
bindIp: 127.0.0.1
processManagement:
timeZoneInfo: /usr/share/zoneinfo
fork: true
replication:
replSetName: "replica"
3. 실행 및 종료
실행명령어
/usr/bin/mongod --config /var/lib/mongodb/master/master.conf
/usr/bin//mongod --config /var/lib/mongodb/slave1/slave1.conf
/usr/bin/mongod --config /var/lib/mongodb/arbiter/arbiter.conf
종료명령어 (종료시에만 입력)
/usr/bin/mongod --shutdown --config /var/lib/mongodb/arbiter/arbiter.conf
/usr/bin/mongod --shutdown --config /var/lib/mongodb/slave1/slave1.conf
/usr/bin/mongod --shutdown --config /var/lib/mongodb/master/master.conf
다음과같은 Shell 이 뜨게되면 아래와 같이 입력한다.
rsconf ={_id : "replica", members:[{_id:0,host:"127.0.0.1:26016",priority:2},{_id:1,host:"127.0.0.1:26026",priority:1},{_id:2,host:"127.0.0.1:26036",priority:1,arbiterOnly:true}]};
이렇게 하면 셋팅완료
아래부분은 보안부분이다.
#외부 접속을 허용하기위해선 bindIp : 0.0.0.0 로 설정해야 한다.
#계정생성 PRIMARY 로 접속하여
> use admin
> db.createUser({
user: 'adminId',
pwd: 'password',
roles: ['root']
})
## 암호화 설정방법.
Linux에서 mongodb 키 파일을 작성하고 모드가 600그대로있는 모든 DB 서버에 복사하십시오 .
openssl rand -base64 741 > mongodb.key
chmod 600 mongodb.key
mongod.conf
security:
authorization: enabled
keyFile: /var/lib/mongodb/mongodb.key
'프로그래밍언어 > MongoDB' 카테고리의 다른 글
Mongodb 백업및 복구 (2) | 2020.02.21 |
---|---|
Mongodb Field Update Operators (0) | 2020.02.05 |
시간지난데이터 자동삭제 기능 (0) | 2018.08.31 |
MongoDB의 질의 결과를 file에 저장하기 (0) | 2018.08.28 |
MongoDB 예약작업 구현하기 (0) | 2018.08.28 |