오늘 MacOS 10.15 (Catalina)로 업데이트했습니다. mongod
터미널에서 실행할 때 /data/db
디렉토리를 찾을 수 없습니다 .
➜ /Users/william > mongod
2019-10-08T17:02:44.183+0800 I CONTROL [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
2019-10-08T17:02:44.209+0800 I CONTROL [initandlisten] MongoDB starting : pid=43162 port=27017 dbpath=/data/db 64-bit host=Williams-MacBook-Pro-6.local
2019-10-08T17:02:44.209+0800 I CONTROL [initandlisten] db version v4.0.3
2019-10-08T17:02:44.209+0800 I CONTROL [initandlisten] git version: 7ea530946fa7880364d88c8d8b6026bbc9ffa48c
2019-10-08T17:02:44.209+0800 I CONTROL [initandlisten] allocator: system
2019-10-08T17:02:44.209+0800 I CONTROL [initandlisten] modules: none
2019-10-08T17:02:44.209+0800 I CONTROL [initandlisten] build environment:
2019-10-08T17:02:44.209+0800 I CONTROL [initandlisten] distarch: x86_64
2019-10-08T17:02:44.209+0800 I CONTROL [initandlisten] target_arch: x86_64
2019-10-08T17:02:44.209+0800 I CONTROL [initandlisten] options: {}
2019-10-08T17:02:44.211+0800 I STORAGE [initandlisten] exception in initAndListen: NonExistentPath: Data directory /data/db not found., terminating
2019-10-08T17:02:44.211+0800 I NETWORK [initandlisten] shutdown: going to close listening sockets...
2019-10-08T17:02:44.211+0800 I NETWORK [initandlisten] removing socket file: /tmp/mongodb-27017.sock
2019-10-08T17:02:44.211+0800 I CONTROL [initandlisten] now exiting
2019-10-08T17:02:44.211+0800 I CONTROL [initandlisten] shutting down with code:100
➜ /Users/william >
MongoDB를 brew
다음 과 같이 설치하려고했습니다 .
brew install mongodb
➜ /Users/william > brew install mongodb
Updating Homebrew...
Error: mongodb: unknown version :mountain_lion
어떤 도움?
답변
이것은 주요 오류입니다.
initAndListen 예외 : NonExistentPath : 데이터 디렉토리 / data / db를 찾을 수 없습니다.
Catalina는 놀라운 변화를 가져 왔습니다 : 루트 디렉토리에 대한 변경을 허용하지 않습니다 (이것은 포럼 스레드 에서도 논의되었습니다 ) :
% sudo mkdir -p /data/db
mkdir: /data/db: Read-only file system
불행히도, 이것은 Catalina 기능 에 대한 간단한 언급 외에 Apple의 Catalina 릴리스 노트에 명시 적으로 나와 있지 않습니다 .
macOS Catalina는 전용의 읽기 전용 시스템 볼륨에서 실행됩니다
디렉토리 /data/db
는 MongoDB 기본값으로 코딩되어 있으므로 해결 방법은 dbpath
루트 디렉토리에없는 다른 디렉토리 를 지정하는 것 입니다. 예를 들면 다음과 같습니다.
mongod --dbpath ~/data/db
그러면 MongoDB의 데이터가 홈 디렉토리에 배치됩니다. 경로가 ~/data/db
실제로 존재 하는지 확인하십시오 .
대체 방법
다른 방법은 다음 을 활용하여 macOS 에 MongoDB Community Edition 설치 의 지시 사항을 따르는 것입니다 brew
.
brew tap mongodb/brew
brew install mongodb-community
기본적으로 몇 가지 추가 파일이 생성됩니다.
- 구성 파일 (/usr/local/etc/mongod.conf)
- 로그 디렉토리 경로 (/ usr / local / var / log / mongodb)
- 데이터 디렉토리 경로 (/ usr / local / var / mongodb)
실행하려면 다음 mongod
중 하나 를 수행 하십시오.
-
명령 행에서 수동으로 명령을 실행하십시오 (편의를 위해 별명을 지정할 수 있음).
mongod --config /usr/local/etc/mongod.conf
-
를 사용하여 MongoDB를 서비스로 실행하십시오
brew services
. 이렇게하면 MongoDB가 독립형 노드 (복제 세트가 아님)로 실행되므로 oplog에 의존하는 기능 (예 : changestream)은mongod
구성 파일 을 수정하지 않으면 작동하지 않습니다 .brew services start mongodb-community
답변
Catalina를 설치 한 후 바탕 화면에이라는 폴더가있을 수 있습니다 Relocated Items
. data/db
폴더 안에서 폴더 를 찾을 수 있습니다 Security
.
내가해야 할 일은 Security/data/db
구체적 으로 이동하고 data/db
내 홈 폴더 안에 넣는 것입니다.
다음 명령을 실행하여 Finder 앱 또는 터미널에서이를 수행 할 수 있습니다.
sudo mv /Users/Shared/Relocated\ Items/Security/data ~/
그 후 :
mongod --dbpath ~/data/db
별칭을 더 일찍 만드는 것은 당신에게 달려 있습니다.
답변
Kevinadi는 이미 문제에 대해 정의를 수행했지만 이것이 문제를 해결하는 방법입니다.
mongodb-community를 설치 한 후
sudo mkdir -p /System/Volumes/Data/data/db
(data / db 폴더 생성)sudo chown -R
id -un/System/Volumes/Data/data/db
(권한 부여)mongod --dbpath=/System/Volumes/Data/data/db
(mongodb의 dbpath 변경)mongod
(잘 작동합니다)
mongodb 설치에 대한 이 기사 가 매우 유용하다는 것을 알았습니다
답변
트릭을 찾았습니다 … 디렉토리에서 ~ / data / db 전체 폴더를 삭제 한 다음 새 폴더를 다시 만들지 만 mkdir -p / data / db를 사용하지 마십시오. 트랙 패드를
사용하여 폴더를 만드는 시스템 방법을 사용하십시오
이것은 나를 위해 일했다
답변
나를 위해 일한 것은 다음과 같습니다.
- 개발 / mongodb / data / db 어딘가에 폴더 생성
- mongod.conf 파일을 열고 storage.dbPath 값을 새로 작성된 폴더 경로로 업데이트하십시오 .
답변
이 스크립트는 도움이 될 수 있습니다 https://gist.github.com/sturmenta/cf19baa91b1d79d8ae2b305fb7e1f799
??????
답변
Mac 버전 Catalina는 루트 폴더를 더 이상 쓸 수 없도록 만들었습니다.
Brew는 새로운 경로를 사용하기 위해 mongodb의 업데이트 버전을 가지고 있으며, /usr/local/var/mongodb
이 지침에 따라 문제를 해결할 수 있습니다.
업데이트 된 mongodb-community-edition 설치 안내서
brew install mongodb-community@VERSION
여기서 수정 사항이있는 첫 번째 버전은 4.2입니다.
