Подтвердить что ты не робот

MongoDB не работает. "ОШИБКА: dbpath (/data/db) не существует".

Я получаю следующую ошибку, когда пытаюсь запустить "mongod" в терминале. Я попытался удалить, переустановить и перезагрузить компьютер. Любые предложения о том, как заставить его работать, будут потрясающими.

ОШИБКА:

dbpath (/data/db) does not exist.
 Create this directory or give existing directory in --dbpath.
 See http://dochub.mongodb.org/core/startingandstoppingmongo

Боковое примечание: Node также перестала работать на моей машине примерно в то же время, когда я получил эту ошибку.

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: failed to connect to [localhost:27017]

Любая помощь будет очень признательна!

4b9b3361

Ответ 1

Это должно работать, чтобы убедиться, что каталог настроен в нужном месте, чтобы Mongo мог его найти:

sudo mkdir -p /data/db/

sudo chown `id -u` /data/db

Ответ 2

Вам необходимо создать каталог с правами root/data/db или задать любой другой путь с помощью следующей команды:

mongod --dbpath /srv/mongodb/

См. ссылку примера

Ответ 3

Я решил проблему с помощью:

sudo mongod --dbpath=/var/lib/mongodb, а затем mongo для доступа к оболочке mongodb.

Ответ 4

Измените пользователя нового каталога данных:

chown mongodb [rute_directory]

И попробуйте еще раз, чтобы начать службу mongo

сервис mongod start

Я решаю ту же проблему с этим.

Ответ 5

Демоны (обычно заканчивающиеся на d) обычно запускаются как службы. Запуск службы (daemon) позволит mongodb работать в соответствии с проектом (без изменений разрешения, если он хорошо интегрируется с вашим дистрибутивом). Я запускаю его, используя службу с именем mongodb вместо запуска mongod напрямую - при дистрибутиве с включенным systemd при запуске, выполните:

sudo systemctl enable mongodb    
sudo systemctl start mongodb

или, при дистрибутиве с выскочкой (если у вас есть /etc/init ) или init (если у вас есть /etc/init.d) (https://www.tecmint.com/systemd-replaces-init-in-linux/) вместо этого выполните:

sudo service mongodb enable
sudo service mongodb start

Если у вас есть дистрибутив с rc ( "run command" ), например Gentoo (настройки в /etc/init.d) (https://forums.gentoo.org/viewtopic-t-854138-start-0.html):

rc-update add mongodb default 
/etc/init.d/mongodb start 

В дистрибутиве/версии FreeBSD, который все еще имеет rc (проверьте, переключена ли ваша версия на systemd, иначе см. ниже):

  • добавьте следующую строку в /etc/rc.conf:

    mongod_enable = "ДА"

  • то

    sudo service mongod start