Запуск `mongo` приводит к «тайм-ауту операции» при использовании » служб пивоварения`

#mongodb #macos #homebrew #apple-m1

Вопрос:

Я использую brew services для запуска mongodb-community на своем Mac M1. Однако я получаю сообщение об ошибке Operation timed out при попытке запустить mongo или подключиться к нему на другой машине.

Согласно brew services ls этому started , и, похоже, у него нет никаких ошибок.

При запуске mongod --config /opt/homebrew/etc/mongod.conf и повторной попытке подключения он работает нормально.

При просмотре Library/LaunchAgents/homebrew.mxcl.mongodb-community.plist файла все выглядит правильно:

 ...
  <key>ProgramArguments</key>
  <array>
    <string>/opt/homebrew/opt/mongodb-community/bin/mongod</string>
    <string>--config</string>
    <string>/opt/homebrew/etc/mongod.conf</string>
  </array>
...
 

Эта проблема возникла после того, как я попытался скопировать папку с данными на внешний жесткий диск.

Для справки мой /opt/homebrew/etc/mongod.conf файл выглядит так:

 systemLog:
  destination: file
  path: /opt/homebrew/var/log/mongodb/mongo.log
  logAppend: true
storage:
  dbPath: /Volumes/Drive13_A/mongodb
net:
  bindIp: 0.0.0.0
 

Есть какие-нибудь идеи о том, почему он не сработает при использовании brew services , но не mongod напрямую?


Редактировать:

После перезагрузки компьютер brew services ls теперь сообщает об ошибке. Просматривая журналы, я вижу эту запись:

 {"t":{"$date":"2021-10-09T16:18:50.166-06:00"},"s":"E",  "c":"CONTROL",  "id":20557,   "ctx":"initandlisten","msg":"DBException in initAndListen, terminating","attr":{"error":"DBPathInUse: Unable to create/open the lock file: /Volumes/Drive13_A/mongodb/mongod.lock (Operation not permitted). Ensure the user executing mongod is the owner of the lock file and has the appropriate permissions. Also make sure that another mongod instance is not already running on the /Volumes/Drive13_A/mongodb directory"}}
 

Там нет /Volumes/Drive13_A/mongodb/mongod.lock файла, который существует, и я запустил chmod -R 777 /Volumes/Drive13_A/mongodb (что должно исправить разрешения), однако он все еще не работает.

Ответ №1:

Это было решено путем предоставления mongod разрешений Security amp; Privacy .

Системные настройки > Безопасность и конфиденциальность >> Конфиденциальность >>> Файлы и папки > > > > > > > > > mongod > Съемные тома (следует проверить)