mongodb не работает на последней Mac OS (10.15)

Сегодня я обновился до Mac 10.15. Когда я запускаю mongod терминал:

➜  /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 > 

Пытался установить его снова

brew install mongodb

➜  /Users/william > brew install mongodb
Updating Homebrew...
Error: mongodb: unknown version :mountain_lion

Любая помощь?

18
задан William Hu 8 October 2019 в 09:06
поделиться

6 ответов

Это - основная ошибка:

исключение в initAndListen: NonExistentPath: каталог Data,/data/db не найденный., при завершении

у Catalina есть неожиданное изменение: это не позволит изменения в корневом каталоге (это было обсуждено в поток форума также):

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

, К сожалению, это не разъяснено явно в информации о версии Catalina Apple кроме краткого упоминания в [1 114] функции Catalina :

выполнения macOS Catalina в специализированном, системном томе

только для чтения Начиная с каталога /data/db кодируются как значение по умолчанию MongoDB, обходное решение должно указать другое dbpath, который не расположен на корневом каталоге. Например:

mongod --dbpath ~/data/db

Это поместит данные MongoDB в Ваш корневой каталог. Просто удостоверьтесь, что путь ~/data/db на самом деле существует.

Альтернативный метод

альтернативный метод должен следовать инструкциям в [1 115] Установка Выпуск Сообщества MongoDB на macOS путем усиления 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 как услуга с помощью [1 110]. Обратите внимание, что это выполнит MongoDB как автономный узел (не набор копии), так функции, который зависит от oplog, например, changestreams не будет работать, если Вы не измените mongod конфигурационный файл:

    brew services start mongodb-community
    
56
ответ дан 26 November 2019 в 19:34
поделиться

После установки Catalina у Вас могла бы быть папка на Вашем Рабочем столе, названном Relocated Items. Можно найти data/db папка в Security папка.

Все, что я должен был сделать, было переместиться эти Security/data/db, конкретно data/db и поместить его в моей домашней папке.

можно сделать это с приложением для Средства поиска или с терминалом путем выполнения следующей команды:

sudo mv /Users/Shared/Relocated\ Items/Security/data ~/

После того выполнения: mongod --dbpath ~/data/db

Вам решать для создания псевдонима ранее

43
ответ дан 26 November 2019 в 19:34
поделиться

, Если Вы получаете ошибку при попытке переместить всю папку данных.!!

Просто перемещают папку дб, которая является важной.

-2
ответ дан 26 November 2019 в 19:34
поделиться

Вот то, что работало на меня:

  1. Создают папку где-нибудь, например, Development/mongodb/data/db
  2. , Открытый файл mongod.conf , и обновляют значение storage.dbPath к недавно созданный путь к папке
0
ответ дан 26 November 2019 в 19:34
поделиться

найденный приемом... удаляют ~/data/db, вся папка из каталога тогда воссоздают новый, но НЕ ИСПОЛЬЗУЮТ mkdir-p/data/db вместо этого, просто используют Вашу сенсорную панель, чтобы сделать это система использования способ создать папку

, это работало на меня

0
ответ дан 26 November 2019 в 19:34
поделиться

этот сценарий может быть полезен https://¤ gist.github.com/sturmenta/cf19baa91b1d79d8ae2b305fb7e1f799

р_ ™рџЏ» ¤ рџ ™рџЏ» ¤ рџ ™рџЏ»

0
ответ дан 26 November 2019 в 19:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: