Расположение базы данных 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?

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

Ответы:


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

Это попало в самую точку. Спасибо
Марк Пешак - 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

Это решение решило мою проблему после обновления до версии 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.


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будет удалена и заменена папкой с новой версией.

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