#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
> Съемные тома (следует проверить)