Zaktualizowałem dzisiaj system MacOS 10.15 (Catalina). Kiedy uruchamiam mongod
w terminalu, nie może znaleźć /data/db
katalogu:
➜ /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 >
Próbowałem zainstalować MongoDB za pomocą brew
:
brew install mongodb
➜ /Users/william > brew install mongodb
Updating Homebrew...
Error: mongodb: unknown version :mountain_lion
Jakaś pomoc?
mongodb --dbpath ...
po prostu wpisującmongod
bash, możesz użyć aliasualias mongod='mongod --dbpath ...'
lub umieścić go w swoimbashrc
. To nie jest najczystsze rozwiązanie, ale może działać dla twoich celów.zsh
lub jakiejkolwiek innej powłoki, musisz umieścić alias pod plikiem rc tej powłoki. Zazsh
to~/.zshrc
. Upewnij się także, że postępujesz zgodnie ze składnią powłoki również przy tworzeniu aliasów.Po zainstalowaniu Cataliny możesz mieć folder na pulpicie o nazwie
Relocated Items
. Możesz znaleźćdata/db
folder wSecurity
folderze.Wszystko, co musiałem zrobić, to przenieść
Security/data/db
konkretniedata/db
i umieścić go w folderze domowym.Możesz to zrobić za pomocą aplikacji Finder lub terminala, uruchamiając następujące polecenie:
Po tym uruchomieniu:
mongod --dbpath ~/data/db
Utworzenie aliasu zależy od Ciebie wcześniej
źródło
Kevinadi już zadał pytanie, ale w ten sposób rozwiązałem problem:
Po zainstalowaniu społeczności mongodb
sudo mkdir -p /System/Volumes/Data/data/db
(Utwórz folder data / db)sudo chown -R
id -un/System/Volumes/Data/data/db
(Daj uprawnienia)mongod --dbpath=/System/Volumes/Data/data/db
(Zmień dbpath mongodb)mongod
(Działa dobrze)Uważam, że ten artykuł na temat instalowania mongodb jest bardzo przydatny
źródło
znalazłem sztuczkę ... usuń cały katalog ~ / data / db z katalogu, a następnie ponownie utwórz nowy, ale NIE UŻYWAJ zamiast tego mkdir -p / data / db, po prostu użyj gładzika, aby to zrobić, użyj systemowego sposobu utworzenia folderu
to zadziałało dla mnie
źródło
Oto, co zadziałało dla mnie:
źródło
ten skrypt może być pomocny https://gist.github.com/sturmenta/cf19baa91b1d79d8ae2b305fb7e1f799
🤙🏻🤙🏻🤙🏻
źródło
Wersja Maca Catalina sprawiła, że folder główny nie jest już zapisywalny.
Brew ma zaktualizowaną wersję mongodb do korzystania z nowej ścieżki (którą sam tworzy),
/usr/local/var/mongodb
a wykonanie tych instrukcji naprawi problem:Przewodnik po instalacji zaktualizowanej wersji mongodb-community-edition
brew install mongodb-community@VERSION
gdzie pierwsza WERSJA z poprawką to 4.2źródło
/data/db
działa niezależnie od konfiguracji.