요즘 백엔드를 아우르는 강의 하나를 듣고 있는데, 디비를 연결해야하는 순간이 왔다. 강의에선 디비 설치하는 것 까지 알려주지 않기 때문에 구글링을 하며 몽고디비 설치를 해보았는데, 중간중간 막히는 부분들이 있어서 설치과정을 정리해보았다.
1. 몽고디비 페이지에서 커뮤니티 버전 다운로드 하기
https://www.mongodb.com/try/download/community
버전과 플랫폼을 확인 후 다운로드~
2. 다운로드 된 파일 압축풀기, usr/local 로 폴더이동
다운로드한 파일은 다운로드 폴더에서 확인할 수 있다.
$ cd Download
$ tar xzf mongodb-macosx-x86_64-4.4.2.tgz
위 명령어로 압축을 풀어준다. 하지만 아무리해도 풀리지 않아서 다운로드 폴더에서 직접 압축해제. 뭐가 문제일까?ㅠㅠ
$ sudo mv mongodb-osx-x86_64-4.4.2 /usr/local/mongodb
압축이 풀린 mongodb-macosx 디렉토리를 /usr/local/mongodb 로 이동시켜준다. 나는 명령어 사용이 서툴기 때문에 숨김폴더 보기를 사용해 Finder를 직접 보며 usr/local 로 잘 이동되었는지 확인하면서 진행해주었다. /local/mongodb/mongodb-osx-x86_64-4.4.2/ 로 잘 이동되었지만 mongodb 디렉토리 바로 아래에 .bin 등 파일이 있어야할 것 같아서.... 직접 finder에서 폴더 정리를 해주었다.
여기까진 구글링에 나온대로 잘 진행되었는데 다음 명령어에서부터 막히기 시작했다.
3. /data/db 폴더 만들기
$ sudo mkdir -p data/db
$ sudo chown #{username} /data/db
구글링을 해서 나온 거의 모든 블로그에선 위 명령어를 사용해서 db 폴더를 생성하도록 되어있었는데, 아무리 mkdir 명령어를 입력해도 폴더는 생성되지 않고 커멘드에서는 오류메시지만 뱉어낼 뿐이었다.
//mkdir: /data/db: Read-only file system
자꾸 read-only라고 거부하는 중,,,
여기서부터 한참 막혔는데 구글을 열심히 찾다보니 Catalina 버전부턴 접근할수 없게 되어 위 명령어를 사용해선 폴더생성을 할 수 없었다. 다음 명령어로 db 폴더를 생성하고 권한을 주었다.
$ sudo mkdir -p /Users/#{username}/data/db
$ sudo chown #{username} ./data/db
User 디렉토리를 확인해보니 db 폴더가 잘 생성되어있었다.
4. 몽고디비 환경변수 path 설정
$ ~/ .zshrc
위 명령어로 쉘 프로필을 열어 아래 경로를 추가해주었다.
export MONGO_PATH=/usr/local/mongodb
export PATH=$PATH:$MONGO_PATH/bin
5. 입력 완료 후 몽고디비가 잘 설치되었는지 확인하기
$mongo --version
와!! 설치 완료!!
드디어 강의를 이어 들을 수 있나 했지만 vscode 터미널에서 mongod, mongo 를 입력했는데 동작이 되지 않았다. 또 에러메시지만 뿜어낼 뿐..
IllegalOperation: Attempted to create a lock file on a read-only directory: data/db
터미널을 뒤덮은 수많은 문자들 중 위 문장이 눈에 들어왔다. 그대로 구글에 복붙해서 폭풍 검색. 권한설정 문제라고 나와서 다시 설정을 시작해주었다.
$ sudo chown -Rv #{username}/Users/#{username}/data/db
$ mongod --dbpath=/Users/#{username}/data/db --
위와같이 완료한 후에 vscode 에서 몽고디비를 실행하니 연결까지 잘 되었다.
강의를 듣기까지 기본 설정하는데 시간을 많이 잡아먹혔다. ㅠㅠ UI만 작업하다보니 개발, 특히 백엔드엔 문외한이라 서버설정과 디비 연결에 오랜 시간이 걸렸다. 서버 설정은 강의 보고 따라서 타이핑을 하며 따라 갈 수 있었지만, 디비 연결은 강의에 나와있지 않아서 구글링으로 혼자 끙끙대며 연결하다보니 새벽 3시까지 고생했었다.
그래도 예전같으면 터미널에 뜨는 알수없는 문자들을 보며 '까만건 터미널이요 하얀건 글씨로다...' 하며 노트북을 닫고 넘겼겠지만, 이젠 터미널에 뜨는 내용을 읽고, 그 문장들 중에서 문제가 되어보이는 것들을 찾아 구글링을 해서 해결한다는 점이 이전보단 나아진 모습이 아닐까 싶다.
매번 느끼지만 초기 설정이 가장 어려운 것 같다.
설정이 완료 되었으니 다시 강의를 쭉쭉 듣자! 쭉쭉쭉!
참조
https://lumwave.com/blog/tag/mongodb/
www.zerocho.com/category/MongoDB/post/579495d0f5586c2c12d30a7a
'웹공부 > etc.' 카테고리의 다른 글
크롬으로 안드로이드 디바이스 디버깅 하기 (0) | 2021.02.17 |
---|