MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

MongoDB nie może znaleźć katalogu danych po aktualizacji do systemu Mac OS 10.15 (Catalina)

To jest główny błąd:

wyjątek w initAndListen:NonExistentPath:Nie znaleziono katalogu danych /data/db., zakończenie

Catalina ma niespodziankę:nie pozwoli na zmiany w katalogu głównym (o tym również dyskutowano w wątku na forum):

% sudo mkdir -p /data/db
mkdir: /data/db: Read-only file system

Niestety, nie jest to wyraźnie określone w informacjach o wydaniu Cataliny firmy Apple, poza krótką wzmianką w funkcjach Cataliny:

macOS Catalina działa na dedykowanym woluminie systemowym tylko do odczytu

Ponieważ katalog /data/db jest zakodowany jako domyślny MongoDB, obejściem jest określenie innej dbpath który nie znajduje się w katalogu głównym. Na przykład:

mongod --dbpath ~/data/db

Spowoduje to umieszczenie danych MongoDB w twoim katalogu domowym. Upewnij się tylko, że ścieżka ~/data/db faktycznie istnieje.

Alternatywna metoda

Alternatywną metodą jest postępowanie zgodnie z instrukcjami w Zainstaluj MongoDB Community Edition na macOS, wykorzystując brew :

brew tap mongodb/brew
brew install mongodb-community

Spowoduje to domyślnie utworzenie kilku dodatkowych plików:

  • plik konfiguracyjny (/usr/local/etc/mongod.conf)
  • ścieżka katalogu dziennika (/usr/local/var/log/mongodb)
  • ścieżka katalogu danych (/usr/local/var/mongodb)

Aby uruchomić mongod możesz:

  • Uruchom polecenie ręcznie z wiersza poleceń (dla wygody można użyć aliasu):

    mongod --config /usr/local/etc/mongod.conf
    
  • Uruchom MongoDB jako usługę przy użyciu brew services . Zwróć uwagę, że uruchomi to MongoDB jako samodzielny węzeł (nie zestaw replik), więc funkcje zależne od oploga, np. changestreams nie będą działać, chyba że zmodyfikujesz mongod plik konfiguracyjny:

    brew services start mongodb-community
    


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Wiele warunków przyłączenia za pomocą operatora $lookup

  2. jak przekazać zmienną do wyrażenia regularnego?

  3. MongoDB $pop

  4. 3 sposoby na ukrycie indeksu w planie zapytań w MongoDB

  5. nazwa pola ClassName jest wstawiana do mongodb przez morphia