Localização do banco de dados mongodb no mac


91

Eu sou meio novo no Mac, assim como no mongodb.

Estou com uma dúvida esquisita, acessando o banco de dados criado usando mongodb no mac?

Eu sei, no windows existe uma pasta chamada c: \ data \ db, onde meus arquivos de banco de dados são armazenados.

Como e onde no mac, o banco de dados é armazenado.

Eu me lembro de fazer algo como

sudo mkdir -p /data/db
sudo chown `id -u` /data/db

para criar essa pasta no mac, mas não encontrei nenhum arquivo de banco de dados nesta pasta, embora tenha criado um banco de dados.

Onde estão os arquivos de banco de dados salvos no mac?

Qualquer ajuda seria muito apreciada.

Respostas:


93

O diretório de dados padrão para MongoDB é /data/db.

Isso pode ser substituído por uma dbpathopção especificada na linha de comando ou em um arquivo de configuração.

Se você instalar o MongoDB por meio de um gerenciador de pacotes como Homebrew ou MacPorts, essas instalações geralmente criam um diretório de dados padrão diferente de / data / db e define o dbpath em um arquivo de configuração.

Se um dbpath foi fornecido mongodna inicialização, você pode verificar o valor no mongoshell:

db.serverCmdLineOpts()

Você veria um valor como:

"parsed" : {
    "dbpath" : "/usr/local/data"
},

1
Também é importante notar que seu mongodservidor não precisa ser executado como o rootusuário. Você precisa garantir que suas permissões de diretório de dados incluam acesso de leitura / gravação para a conta de usuário que o mongodservidor está usando.
Stennie

1
Quando eu insiro getCommandLineOpts (), obtenho algo como `ReferenceError: getCommandLineOpts não está definido (shell): 1´. Qualquer ajuda??
Espanhol 89

4
Qual versão do MongoDB você está usando? Você deve ser capaz de verificar isso com db.serverStatus().version. Acredito que o shell helper para getCommandLineOpts()foi adicionado no MongoDB 2.0. Você também pode tentar: db.getSiblingDB("admin").runCommand({getCmdLineOpts:1}).
Stennie

Eu uso a versão 2.2.2, quando tentei db.getSiblingDB("admin").runCommand({getCmdLineOpts:1}), obtive algo como { "argv" : [ "./bin/mongod" ], "parsed" : { }, "ok" : 1 }Isso significa que meu diretório de banco de dados não está definido?
Espanhol

Entendi cara, criei uma pasta chamada data na raiz e uma subpasta db. Agora está mostrando o caminho. Muito obrigado pela ajuda.
Espanhol 89


131

Obrigado @Mark, sempre esqueço disso. Depois de instalar o MongoDB com Homebrew:

  • As bases de dados são armazenados no diretório / usr / local / var / mongodb / diretório
  • O arquivo mongod.conf está aqui: /usr/local/etc/mongod.conf
  • Os logs do mongo podem ser encontrados em / usr / local / var / log / mongodb /
  • Os binários do mongo estão aqui: / usr / local / Cellar / mongodb / [versão] / bin

Isso acertou o prego na cabeça. Obrigado
Mark Pieszak - Trilon.io

2
Quando eu verifico / usr / local / var / mongodb / , o diretório está vazio. E não, eu não alterei o dbpath padrão do mongoldb. Você pode me ajudar a encontrar o arquivo de banco de dados?
Nishi Bangar

Adicione um link simbólico para ele: sudo ln -s / usr / local / var / mongodb / data / db
TheJeff

22

Tive o mesmo problema, com a versão 3.4.2

para executá-lo (se você instalou com o homebrew) execute o processo assim:

$ mongod --dbpath /usr/local/var/mongodb

Esta solução resolveu meu problema depois de atualizar para v4.2.5 via Homebrew.
Matt Hagemann

10

Acabei de instalar o mongodb 3.4 com homebrew . (Brew install mongodb) Ele procura / data / db por padrão.

https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x/

Aqui está o resultado da execução do mongod.


9
Isso se você começar mongoddiretamente do terminal. Se você usar brew services start mongodb, o processo usará o arquivo de configuração no /usr/local/etc/mongod.confqual, por sua vez, especifica um dbPathde/usr/local/var/mongodb
Molomby

Obrigado @Molomby pela contribuição. Eu não comecei assim, eu nem sabia dessa forma. :)
csonuryilmaz

1

Env : macOS Mojave 10.14.4

Instalar : homebrew

Localização :/usr/local/Cellar/mongodb/4.0.3_1

Nota : Se atualizar a versão por brew upgrade mongo, a pasta 4.0.4_1será removida e substituída pela pasta da nova versão

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.