Onde está a pasta do banco de dados mongo no sistema de arquivos

19

Estou usando o Ubuntu 16.04. Eu configurei um banco de dados MongoDB. Quando inicio (com o mongodcomando), ele diz que o banco de dados está localizado em /data/db( dbpath=/data/db).

O banco de dados funciona bem. Mas no explorador de arquivos não consigo encontrar essa pasta. Eu olhei na Computerpasta e na pasta Home( Computer/home/<my name>).

Também mostrei arquivos e pastas ocultos com Ctrl + H.

Como posso encontrar minha pasta de banco de dados?

croraf
fonte

Respostas:

24

Você deve encontrar o local no arquivo de configuração: /etc/mongod.conf

grep dbPath /etc/mongod.conf

De acordo com os documentos do mongodb :

O caminho padrão é /data/dbdiretório

Por padrão, o MongoDB escuta conexões de clientes na porta 27017 e armazena dados no diretório / data / db.

Se dbPathestiver definido, o mongodb usará o diretório especificado pordbPath

Se você deseja mongodarmazenar arquivos de dados em um caminho diferente do que /data/db você pode especificar a dbPath. O dbPathdeve existir antes de você começar mongod. Se não existir, crie o diretório e as permissões para que mongodpossa ler e gravar dados nesse caminho. Para mais informações sobre permissões, consulte a documentação de operações de segurança.

Yaron
fonte
1
Encontrei /etc/mongod.conf (observe que não há letra 'b'). Lá diz: storage: dbPath: / var / lib / mongodb. E essa pasta parece que poderia ser o banco de dados. Além disso, a variável é dbPath ('P' maiúsculo). Mas então por que diabos, quando eu começo o mongod, diz dbpath = / data / db?
croraf
@croraf - o /data/dbé o valor padrão do caminho, se dbPathestiver definido, substituirá esse valor. Observe que, para usar /data/dbcomo caminho real, a pasta deve existir e ter a propriedade / permissões corretas. veja resposta atualizada com link para mongodb docs
Yaron
Obrigado! O problema é que o comando mongod gera "Inicialização do MongoDB: pid = 2722 porta = 27017 dbpath = / data / db host de 64 bits = korisnik-Lenovo-Y520-15IKBN", indicando que o dbpath é / data / db. Embora esse possa ser o caminho padrão, o comando de inicialização do db deve indicar o caminho real, no meu caso / var / lib / mongodb.
precisa saber é o seguinte
2
@croraf /etc/mongod.confconfiguração só é usado se você Iniciar MongoDB como um serviço ou explicitamente passar este na linha de comando: mongod --config /etc/mongod.conf. Se você iniciar mongodsem nenhuma opção, o padrão /data/dbserá usado. Se você iniciar mongodcomo um serviço no Ubuntu, dbPathserá o especificado em /etc/mongod.conf( /var/lib/mongodbpor padrão). Normalmente, você deseja gerenciar o MongoDB como um serviço para garantir que uma configuração consistente seja usada entre as chamadas.
Stennie
@Stennie Sim, parece que o mongod foi iniciado na inicialização do sistema operacional (o que você chama de 'como serviço'). Isso estava me confundindo. Vou verificar hoje, mas provavelmente executando o mongod dá erro que a porta já está ligada.
croraf
1

Para a pergunta acima, embora eles já tenham fornecido algumas respostas, permita-me trazer esse esclarecimento também:

Ao usar o linux (Ubuntu), quando você instala o mongodb, ele é automaticamente configurado e executado por padrão. O dbpath padrão está localizado em mongodb.conf. Ao olhar para o arquivo, você verá as seguintes linhas:

   # Where to store the data
     bdpath=/var/lib/mongodb

Agora, com base no mongodb doc :

O caminho padrão é o /data/dbdiretório [deveria ser] , mas se a pasta não estiver presente, o mongodb será acionado a partir do caminho fornecido no arquivo mongodb.conf.

O que fazer:

  1. pare seu mongodb
  2. crie sua pasta de dados padrão
  3. reinicie o mongodb: desta vez, ele começará com os dados criados.
user1848069
fonte
0

Isso ocorre porque a "raiz" que você está vendo não é a raiz real, é a raiz da sua casa, no File Explorer, quando você está na página inicial da "raiz", pressione backspace para ir para a pasta pai.

Carlos Villalta
fonte
-1

Tente digitar file:///data/db/no navegador (chrome ou fire-fox). Você poderá ver os arquivos e coleções se tiver mongodbinstalado no sistema, mas todos serão criptografados e você não poderá lê-los em um editor.

Deepu Rohilla
fonte