Version
Ubuntu : 22.0.4 SERVER LTS
몽고 디비 7버전 설치 가능 여부 확인
cat /proc/cpuinfo | grep avx
# 아무것도 안나오면 7버전 설치 못함 4.0버전으로 설해야 됨
Shell
복사
MongoDB 리포지토리의 GPG 키를 시스템으로 가져옵니다.
wget -qO- \
https://pgp.mongodb.com/server-7.0.asc | \
gpg --dearmor | \
sudo tee /usr/share/keyrings/mongodb-server-7.0.gpg >/dev/null
Shell
복사
파일을 생성하여 MongoDB 리포지토리를 추가합니다.
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] \
https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/7.0 multiverse" | \
sudo tee -a /etc/apt/sources.list.d/mongodb-org-7.0.list
Shell
복사
APT 업데이트
sudo apt update
Shell
복사
몽고 디비 설치
sudo apt install -y mongodb-org
Shell
복사
서비스를 시작하고 부팅 시 활성화하려면 다음을 실행합니다.
sudo systemctl enable --now mongod
Shell
복사
어드민 사용자 추가
mongosh
# 어드민 계정부터 생성
use admin
db.createUser(
{
user: "어드민 아이디",
pwd: "어드민 비밀번호 (최대한 어렵게 설정)",
roles: [
{ role: "userAdminAnyDatabase", db: "admin" },
{ role: "dbAdminAnyDatabase", db: "admin" },
{ role: "readWriteAnyDatabase", db: "admin" }
]
}
)
# 접속 가능한 아이피 설정
db.getSiblingDB("admin").runCommand({
updateUser: "picksco",
authenticationRestrictions: [{
clientSource: [
"127.0.0.1"
]
}]
})
db.system.users.find().pretty()
Shell
복사
유저 & 데이터베이스 추가 방법
mongosh -u "어드민 아이디" -p
# 비밀번호 입력
# 데이터베이스 생성및 이동
use chat_db
# 사용자 추가
db.createUser({
user: "chat",
pwd: "chat4ever$$",
roles: [{ role: "readWrite", db: "chat_db" }]
})
<<'EOF'
특정 사용자 특정 아이피만 접근 가능하게 수정
기존 설정된 아이피에 아이피 하나를 추가를 할 수는 없음
설정 하는 방법은
# admin 데이터베이스로 전환
use admin
# system.users 컬렉션 조회
db.system.users.find().pretty()
위 명령어로 해당 디비의 설정된 아이피 모두 찾아서 아래 명령어 그래도 사용 하는 방법뿐입니다.
EOF
db.getSiblingDB("chat_db").runCommand({
updateUser: "chat",
authenticationRestrictions: [{
clientSource: [
"127.0.0.1",
"222.113.95.252",
"118.44.50.221"
]
}]
})
# 생성된 유저 확인
db.getUsers()
# admin 데이터베이스로 전환
use admin
# system.users 컬렉션 조회
db.system.users.find().pretty()
Shell
복사
몽고 디비 콘피그 설정
vi /etc/mongod.conf
Shell
복사
net:
port: 27017
bindIp: 0.0.0.0 # 모든 IP에서 접속 가능하게 설정
# 필수 설정 !!
# authorization 설정은 로그인이 필수인지 설정 입니다 꼭꼭꼭 해야 됨
security:
authorization: enabled
Shell
복사
몽고 디비 재시작
sudo service mongod restart
Shell
복사