Где находится папка базы данных Монго в файловой системе


19

Я использую Ubuntu 16.04. Я создал базу данных MongoDB. Когда я запускаю его (с помощью mongodкоманды), он говорит, что база данных находится в /data/db( dbpath=/data/db).

База данных работает отлично. Но в проводнике файлов я не могу найти эту папку. Я посмотрел в Computerпапке и в папке Home( Computer/home/<my name>).

Я также показал скрытые файлы и папки с помощью Ctrl + H.

Как я могу найти папку моей базы данных?

Ответы:


24

Вы должны быть в состоянии найти местоположение в файле конфигурации: /etc/mongod.conf

grep dbPath /etc/mongod.conf

Согласно документам mongodb :

Путь по умолчанию - /data/dbкаталог

По умолчанию MongoDB прослушивает соединения от клиентов через порт 27017 и сохраняет данные в каталоге / data / db.

Если dbPathустановлено, mongodb будет использовать каталог, указанныйdbPath

Если вы хотите mongodхранить файлы данных по пути, отличному от указанного, /data/db вы можете указать dbPath. dbPathДолжен существовать , прежде чем начать mongod. Если он не существует, создайте каталог и разрешения, чтобы mongodможно было читать и записывать данные по этому пути. Для получения дополнительной информации о разрешениях см. Документацию по операциям безопасности.


1
Я нашел /etc/mongod.conf (обратите внимание, что нет буквы 'b'). Там написано: хранилище: dbPath: / var / lib / mongodb. И эта папка выглядит как база данных. Также переменная dbPath (заглавная 'P'). Но тогда какого черта, когда я запускаю mongod, он говорит: dbpath = / data / db?
Крораф

@croraf - /data/dbзначение пути по умолчанию, если dbPathоно установлено, оно переопределяет это значение. Обратите внимание, что для использования в /data/dbкачестве фактического пути, папка должна существовать и иметь правильные права доступа / права доступа. см обновленный ответ со ссылкой на документы Mongodb
Yaron

Благодарность! Проблема заключается в том, что команда mongod выводит сообщение «Запуск MongoDB: pid = 2722 port = 27017 dbpath = / data / db 64-битный хост = korisnik-Lenovo-Y520-15IKBN», указывая, что dbpath равен / data / db. Хотя это может быть путь по умолчанию, команда запуска db должна указывать фактический путь, в моем случае / var / lib / mongodb.
croraf

2
@croraf /etc/mongod.confконфигурация используется только , если вы Start MongoDB в качестве службы или явно передать это в командной строке: mongod --config /etc/mongod.conf. Если вы запускаете mongodбез каких-либо параметров, /data/dbбудет использоваться значение по умолчанию . Если вы запускаете mongodкак сервис в Ubuntu, dbPathбудет как указано в /etc/mongod.conf( /var/lib/mongodbпо умолчанию). Как правило, вы хотите управлять MongoDB как сервисом, чтобы обеспечить согласованную конфигурацию между вызовами.
Стенни

@Stennie Да, похоже, что mongod запускается при загрузке ОС (то, что вы называете «как сервис»). Это смущало меня. Я проверю сегодня, но, вероятно, запуск mongod выдает ошибку, что порт уже связан.
croraf

1

На вопрос выше, хотя они уже дали некоторые ответы, позвольте мне также внести это уточнение:

При использовании Linux (Ubuntu), когда вы устанавливаете mongodb, он автоматически настраивается и запускается по умолчанию. Dbpath по умолчанию находится в mongodb.conf. Когда вы посмотрите в файл, вы увидите следующие строки:

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

Теперь, основываясь на mongodb doc :

Путь по умолчанию - это [должен быть] /data/dbкаталог, но если папка отсутствует, mongodb будет запускаться с пути, указанного в файле mongodb.conf.

Что делать:

  1. останови свой монгодб
  2. создайте папку данных по умолчанию
  3. перезапустите mongodb: на этот раз он начнется с созданных вами данных.

0

Это потому, что «корень», который вы видите, не является настоящим корнем, это корень вашего дома, в проводнике файлов, когда вы находитесь на домашней странице «корня», нажмите, backspaceчтобы перейти в родительскую папку.


-1

Попробуйте набрать file:///data/db/в браузере (chrome или fire-fox). Вы сможете просматривать файлы и коллекции, если вы mongodbустановили их в системе, но все они будут зашифрованы, и вы не сможете прочитать их в редакторе.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.