MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

O MongoDB não consegue encontrar o diretório de dados após atualizar para o Mac OS 10.15 (Catalina)


Este é o principal erro:

exceção em initAndListen:NonExistentPath:Diretório de dados /data/db não encontrado., terminando

Catalina tem uma mudança surpresa:não permitirá alterações no diretório raiz (isso também foi discutido em um tópico do fórum):
% sudo mkdir -p /data/db
mkdir: /data/db: Read-only file system

Infelizmente, isso não é explicado explicitamente nas notas de lançamento do Catalina da Apple, além de uma breve menção aos recursos do Catalina:

O macOS Catalina é executado em um volume de sistema somente leitura dedicado

Como o diretório /data/db é codificado como padrão do MongoDB, uma solução alternativa é especificar um dbpath diferente que não está localizado no diretório raiz. Por exemplo:
mongod --dbpath ~/data/db

Isso colocará os dados do MongoDB em seu diretório inicial. Apenas certifique-se de que o caminho ~/data/db realmente existe.

Método alternativo

Um método alternativo é seguir as instruções em Instalar o MongoDB Community Edition no macOS aproveitando o brew :
brew tap mongodb/brew
brew install mongodb-community

Isso criará alguns arquivos adicionais por padrão:
  • o arquivo de configuração (/usr/local/etc/mongod.conf)
  • o caminho do diretório de log (/usr/local/var/log/mongodb)
  • o caminho do diretório de dados (/usr/local/var/mongodb)

Para executar mongod você também pode:

  • Execute o comando manualmente na linha de comando (isso pode ser um alias por conveniência):
    mongod --config /usr/local/etc/mongod.conf
    

  • Execute o MongoDB como um serviço usando brew services . Observe que isso executará o MongoDB como um nó autônomo (não um conjunto de réplicas), portanto, os recursos que dependem do oplog, por exemplo, changestreams não funcionarão a menos que você modifique o mongod arquivo de configuração:
    brew services start mongodb-community