Я выполнил MongoDb Docs, чтобы настроить мой первый MongoDb,
Когда я запускаю MongoDB с помощью команды
C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe
Я выполнил MongoDb Docs, чтобы настроить мой первый MongoDb,
Когда я запускаю MongoDB с помощью команды
C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe
MongoDB нужна папка для хранения базы данных. Создайте каталог C:\data\db\
:
mkdir C:\data\db
а затем запустите MongoDB:
C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe
Для пользователей MacOS, чтобы решить эту проблему:
Вам необходимо пройти следующие шаги:
Создайте каталог "db". Здесь будут храниться файлы данных Mongo. Вы можете создать каталог в расположении по умолчанию, выполнив:
sudo mkdir -p /data/db
Убедитесь, что каталог /data/db
имеет необходимые разрешения, выполнив:
sudo chown -R 'id -un' /data/db
Теперь все готово, и вы можете запустить mongod
для запуска сервера Mongo.
Такая же проблема на моем Mac (с использованием Brew) решена с помощью:
sudo mongod
Чтобы изменить папку db по умолчанию C:\data\db
в Windows, команда:
--dbpath
Например:
\mongod --dbpath C:\myfolder
Пользователи Mac
Вместо запуска MongoDB с:
sudo mongod
Вы можете использовать mongod
, если вы:
sudo chmod -R ugo+rw data
Если вам нужно использовать sudo
при запуске mongodb (sudo mongod
), это означает, что у вас нет прав на чтение и запись в папке данных mongodb
Просьба выполнить следующие действия:
Как отмечали другие друзья, сначала необходимо создать каталог для хранения данных базы данных. Эта папка может быть примерно такой:
C:\Mongo-данные
В командной строке найдите место, где вы установили mongodb и где находится mongod.exe. В моем случае полный путь:
C:\Program Files\MongoDB\Server\3.4\bin
Здесь запустите mongod.exe и передайте ему путь к папке, созданной на первом шаге, используя флаг -dbpath следующим образом:
mongod.exe --dbpath "C:\mongo-data"
Обратите внимание. Если вы находитесь в окнах, необходимо использовать двойные кавычки ("") в приведенном выше примере для правильной работы.
Таким образом вы получите следующее:
2017-06-14T12:45:59.892+0430 I NETWORK [thread1] waiting for connections on port 27017
Если вы используете одинарные кавычки ('') в окнах, вы получите:
2017-06-14T01:13:45.965-0700 I CONTROL [initandlisten] shutting down with code:100
Надеемся, что это поможет решить проблему.
Чтобы запустить демон Mongo DB с командой mongod
, у вас должен быть каталог базы данных, возможно, вам нужно запустить:
mkdir C:\data\db
Кроме того, MongoDB должен иметь права на запись для этого каталога, или он должен запускаться с разрешениями суперпользователя, например sudo mongod
.
В MacOS: -
Если вы забыли указать путь к ранее созданной базе данных при запуске сервера mongo, появится вышеприведенная ошибка.
sudo./mongod --dbpath../../mongo-data/
Примечание: -./mongod && &../../mongo-data - относительный путь. Таким образом, вы можете избежать этого путем настройки в переменной среды
Для окон у меня та же проблема.
Исправление было - мне нужно запустить командную строку от имени администратора.
если у вас уже есть каталог, проверьте разрешения dir или попробуйте перезапустить mongo с помощью sudo. Пивоварня sudo начинает mongodb
Я продолжал получать следующую ошибку, когда я пытался запустить mongodb (на Mac OS).
"shutting down with code:100"
Я использовал следующую команду:
./mongod --dbpath=~/mongo-data
Исправление для меня состояло в том, что мне не нужен знак "=", и это вызывало ошибку. Так я и сделал
./mongod --dbpath ~/mongo-data
Просто хотел выбросить это там, потому что ошибка никоим образом не указывает, что это проблема. Я почти удалил содержимое каталога ~/mongo-data, чтобы посмотреть, помогло ли это. Рад, что вспомнил, что в некоторых случаях знак "=" не используется.
В моем случае я получил похожую ошибку, и это происходило потому, что я запустил mongod с пользователем root и создал файл журнала, доступный только root. Я мог бы это исправить, изменив владельца с пользователя root на пользователя, с которого вы обычно запускаете mongod. Файл журнала находился в /var/lib/mongodb/journal/
Если вы используете Virtualbox, проверьте свою виртуальную машину.
docker-machine ssh
df -h
Посмотрите на dev/sda1, если у вас нет свободного места, это может быть связано с большим количеством изображений или контейнеров. Вы можете удалить их, используя "Docker RM" и "Docker RMI"
Этот код выхода также будет указан, если вы изменяете версии MongoDB, а каталог данных несовместим, например, с понижением версии. Переместите старый каталог в другое место и создайте новый каталог (согласно инструкциям, приведенным в других ответах).