ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • MacOS MongoDB 설치 및 실행
    잡동사니 2021. 12. 21. 19:03

    # MongoDB 설치 및 실행하기

    https://velog.io/@fcfargo/TIL-MongoDB-Mongoose

     

    1. Hombrew를 통해 MongoDB 설치

    // MongoDB 탭 추가
    brew tap mongodb/brew
    
    // MongoDB 탭이 정상적으로 추가됐는지 확인 —> 터미널 화면에 mongodb/brew가 출력되면 문제 없이 탭 추가가 완료된 것이다.
    brew tap | grep mongodb -
    
    // (맥북에 추가된 전체 탭 목록을 출력) 다음 명령으로도 탭 추가 여부 확인이 가능.
    brew tap

     

    2. MongoDB 실행

    // MongoDB 활성화 (위는 최신 버전, 고정 버전 사용하고 싶으면 @ 사용)
    brew services start mongodb-community
    brew services start mongodb-community@4.4
    
    // MongoDB를 비활성화시키고 싶을 땐 이 명령어를 사용하면 된다.
    brew services stop mongodb-community
    brew services stop mongodb-community@4.4
    
    // MongoDB가 현재 작동 중인지 확인하고 넘어가도록 하자.
    brew services list
    
    // MongoDB 시작 —> 설치 및 실행이 문제 없이 이뤄졌다면 mongo shell 화면으로 전환된다.
    mongo

     

    3. MongoDB 계정 생성(root 계정)

    • mongo shell에 들어오면 가장 먼저 MongoDB 계정을 생성해야 한다. 생성할 계정은 크게 두 가지다. 하나는 모든 권한을 지닌 root 계정이고, 다른 하나는 생성된 데이터베이스를 읽고 쓰는 권한을 가진 일반 사용자 계정이다. 우선 root 계정을 생성토록 하자.
    // admin 데이터베이스를 사용
    use admin
    
    // 사용 주인 데이터베이스에 root계정 추가
    db.createUser( { user: "mongo", pwd: "password123", roles: ["root"] })
    
    // root 계정으로 mongo shell 접속하기
    mongo admin -u 아이디 -p 비번

     

    4. MongoDB 계정 생성(일반 사용자)

    // db 생성 및 사용
    use db 이름
    
    // 현재 생성된 db 목록 확인
    show dbs
    
    // 현재 사용중인 db 확인
    db;
    
    // 현재 사용 중인 db를 읽고 쓸 수 있는 일반 사용자 계정 생성
    db.createUser({ user: "youruser", pwd: "yourpassword", roles: [{ role: "dbOwner", db: "사용 중인 db 이름" }] })
    
    // 주의 사항: 생성된 계정은 현재 사용 중인 데이터베이스에 대해서만 권한을 갖기 때문에, 계정 생성 전 db;명령으로 현재 사용 중인 데이터베이스가 무엇인지 확인하는 게 좋다.
    
    // 계정 삭제 명령 
    db.dropUser("username")
    
    // 현재 데이터베이스의 사용자 출력
    db.getUsers()

     

    5. MongoDB 인증 기능 추가 및 외부 접속 허용하기

    • 별도의 보안 인증 절차 없이 MongoDB 실행이 가능하다. 문제는 이러한 보안 절차를 생략하게 되면 랜섬웨어 등의 공격에 취약할 수 있다는 점이다. 그러므로 MongoDB를 처음 시작하는 사용자라면 신뢰도 있는 사용자에게만 Server 접속을 허용토록 인증 절차를 추가하는 걸 권장한다. 방법은 아래와 같다.
    // mongodb.conf 파일 접근. Apple M1 Mac 사용자가 아니라면, /usr/local/etc/mongod.conf 경로에서 찾을 수 있다.
    vim /opt/homebrew/etc/mongod.conf
    
    // 보안 인증 절차 추가. 다음 코드를 추가
    security:
        authorization: 'enabled'
        
    // 외부 접속 허용 및 포트 번호 설정. 기존의 bindIp: 127.0.0.1을 다음 코드로 변경
    net:
        port: 27017
        bindIp: 0.0.0.0
    
    // MongoDB 재활성화
    brew services restart mongodb-community
    brew services restart mongodb-community@4.4
    
    // MongoDB 실행 여부 확인
    netstat -anv|grep LISTEN
    
    // MongoDB 접속
    mongo db이름 -u 아이디 -p 비밀번호
    ex) mongo subway -u root -p 12341234

     

    6. MongoDB Collection 생성 및 Compass 설치

    // Collection 생성
    db.createCollection(name,[options])
    ex) db.createCollection("subway_stations")
    cf) Collection 삭제 명령: db.Collection 이름.drop()

    Compass 다운로드 사이트

     

    # 참고사항

    - 설정파일 위치
    /usr/local/etc/mongod.conf

    - 로그 디렉터리 위치
    /usr/local/var/log/mongodb

    - 데이터 저장 위치
    /usr/local/var/mongodb

    댓글

Designed by Tistory.