Расположение базы данных mongodb на Mac

91

Я как бы новичок в Mac, а также в mongodb.

У меня странные сомнения, доступ к базе данных, созданной с помощью mongodb на Mac?

Я знаю, что в Windows есть папка c: \ data \ db, где хранятся мои файлы базы данных.

Как и где в Mac хранится база данных.

Я помню, как делал что-то вроде

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

чтобы создать такую ​​папку на Mac, но я не нашел файла базы данных в этой папке, хотя я создал базу данных.

Где хранятся файлы базы данных на Mac?

Любая помощь могла бы быть полезна.

Испанец89
источник

Ответы:

93

Каталог данных по умолчанию для MongoDB - /data/db.

Это можно изменить с помощью dbpathпараметра, указанного в командной строке или в файле конфигурации.

Если вы устанавливаете MongoDB с помощью диспетчера пакетов, такого как Homebrew или MacPorts, эти установки обычно создают каталог данных по умолчанию, отличный от / data / db, и устанавливают путь к dbpath в файле конфигурации.

Если dbpath был предоставлен mongodпри запуске, вы можете проверить значение в mongoоболочке:

db.serverCmdLineOpts()

Вы увидите такое значение:

"parsed" : {
    "dbpath" : "/usr/local/data"
},
Стенни
источник
1
Также стоит отметить, что ваш mongodсервер не должен запускаться от имени rootпользователя. Вам необходимо убедиться, что ваши права доступа к каталогу данных включают доступ для чтения и записи для учетной записи пользователя, которую использует mongodсервер.
Стенни
1
Когда я ввожу getCommandLineOpts (), я получаю что-то вроде `ReferenceError: getCommandLineOpts не определено (оболочка): 1´. Любая помощь??
Spaniard89
4
Какую версию MongoDB вы используете? Вы должны иметь возможность проверить это с помощью db.serverStatus().version. Я считаю, что помощник оболочки getCommandLineOpts()был добавлен в MongoDB 2.0. Кроме того, можно попробовать: db.getSiblingDB("admin").runCommand({getCmdLineOpts:1}).
Стенни
Я использую версию 2.2.2, при попытке db.getSiblingDB("admin").runCommand({getCmdLineOpts:1})я получил что-то вроде. { "argv" : [ "./bin/mongod" ], "parsed" : { }, "ok" : 1 }Означает ли это, что моя база данных не задана ??
Spaniard89
Я получил его, я создал папку с именем data в корне и подпапку db. Теперь он показывает путь. Большое спасибо за помощь.
Spaniard89
194

Если mongodb установлен через Homebrew, расположение по умолчанию:

/ USR / местные / var / mongodb

См. Ответ от @simonbogarde, чтобы узнать о местонахождении других интересных файлов, которые отличаются при использовании Homebrew.

Марк Эдингтон
источник
Я искал немного света в темноте, проверив формулу на github.com/Homebrew/homebrew/blob/master/Library/Formula/… спасибо.
alexserver
135

Спасибо @Mark, я снова и снова об этом забываю. После установки MongoDB с Homebrew:

  • Базы данных хранятся в каталоге / usr / local / var / mongodb /
  • Файл mongod.conf находится здесь: /usr/local/etc/mongod.conf
  • Журналы mongo можно найти в / usr / local / var / log / mongodb /
  • Бинарные файлы mongo находятся здесь: / usr / local / Cellar / mongodb / [версия] / bin
Simonbogarde
источник
Это попало в самую точку. Спасибо
Марк Пешак - Trilon.io
2
Когда я проверяю / usr / local / var / mongodb / , каталог пуст. И нет, я не менял dbpath mongoldb по умолчанию. Вы можете помочь мне найти файл базы данных?
Nishi
Добавьте для него символическую ссылку: sudo ln -s / usr / local / var / mongodb / data / db
TheJeff
Я , кажется, не имеет папку etcв /usr/local/. Где находятся файлы конфигурации или как я могу узнать lol?
Reinier68,
25

У меня была такая же проблема с версией 3.4.2

чтобы запустить его (если вы установили его с помощью homebrew), запустите процесс следующим образом:

$ mongod --dbpath /usr/local/var/mongodb
Runnerdave
источник
Это решение решило мою проблему после обновления до версии 4.2.5 через Homebrew.
Маттиас Хагеманн,
10

Я только что установил mongodb 3.4 с помощью homebrew . (Brew install mongodb) По умолчанию он ищет / data / db .

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

Вот результат выполнения mongod.

csonuryilmaz
источник
9
Это если запускать mongodпрямо из терминала. Если вы используете brew services start mongodb, процесс будет использовать файл конфигурации, в /usr/local/etc/mongod.confкотором, в свою очередь, будет указано dbPathиз/usr/local/var/mongodb
Моломби,
Спасибо @Molomby за вклад. Я не так начинал, я даже не знал этого. :)
csonuryilmaz
1

Env : macOS Mojave 10.14.4

Установить : homebrew

Расположение :/usr/local/Cellar/mongodb/4.0.3_1

Примечание . Если обновить версию до brew upgrade mongo, папка 4.0.4_1будет удалена и заменена папкой с новой версией.

Джиджин
источник