По любой причине, каждый раз, когда я пытаюсь запустить MongoDB как услуга (sudo сервис mongod запускаются) я получаю следующую ошибку:
Не удалось запустить mongod.service: Единица mongod.service не найденный. Я следовал за отказавшей установкой дб монго следующей ссылки упоминания Действий по установке
system> sudo systemctl start mongodb
Failed to start mongodb.service: Unknown unit: mongodb.service
И когда я пробую sudo mongod
:
MongoDB shell version: 3.2.13 connecting to: -
2017-06-03T16:19:28.513+0530 W NETWORK [thread1]
Failed to connect to 127.0.0.1:27017, in(checking socket for error after poll), reason: errno:111 Connection refused
2017-06-03T16:19:28.514+0530 E QUERY [thread1]
Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed : connect@src/mongo/shell/mongo.js:229:14 @(connect):1:6 exception: connect failed
И когда я пробую mongod --repair
:
2017-06-03T16:32:35.514+0530 I CONTROL [initandlisten]
MongoDB starting : pid=17423 port=27017 dbpath=/data/db 64-bit host=sid-Ideapad-Z570 2017-06-03T16:32:35.514+0530 I
CONTROL [initandlisten] db version v3.2.13 [listen] target_arch: x86_64 2017-06-03T16:32:35.514+0530 I
CONTROL [initandlisten] options: {} 2017-06-03T16:32:35.540+0530 I STORAGE [initandlisten] exception in initAndListen: 29 Data directory /data/db not found., terminating
Я переустановил mongod-org, так как мои данные все еще останутся безопасными.
проблема состояла в том, что моя система не могла найти mongod.service, когда я работал sudo service mongod status
.
Выполнение это зафиксировало его и восстановило сервис:
sudo systemctl enable mongod
Затем все, что я должен был сделать, было скопировать мою корректную конфигурацию в /etc/mongod.conf
и работать
sudo service mongod restart
Это работало на меня.
Удалите свое монго полностью от Вашей системы:
sudo service mongod stop
sudo apt-get purge mongodb-org*
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb
Теперь переустановите mongodb, использующий после команд:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list
sudo apt-get update
sudo apt-get install -y mongodb-org
Для установки определенного выпуска необходимо указать каждый пакет компонента индивидуально наряду с номером версии, как в следующем примере:
sudo apt-get install -y mongodb-org=3.6.0 mongodb-org-server=3.6.0 mongodb-org-shell=3.6.0 mongodb-org-mongos=3.6.0 mongodb-org-tools=3.6.0
Теперь Вы видите, что mongod работает, но тем не менее та же проблема беспокоит Вас. Проблема - то, что Ваша система не могла найти mongod.service, когда Вы работаете sudo service mongod status
.
Выполнение этого зафиксировало его и восстановило сервис:
sudo systemctl enable mongod
Теперь Вы все установлены использовать монго.
sudo service mongod restart
Я также столкнулся с точной проблемой, упомянутой OP, даже при том, что я установил Mongodb с помощью официального учебного руководства по установке (https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/),
Примечание: на шаге 2 учебного руководства (создают файл списка для Mongodb), важно нажать на вкладку, характерную для конкретной версии Ubuntu на Вашей машине. По умолчанию это показывает Ubuntu 14.04, которая создала проблемы, упомянутые OP (Отказавший для запуска mongod.service: Единица mongod.service не найденный)
Когда я наконец заметил, что на шаге 2 должен был правильно выбрать Ubuntu 16.04 (для меня), установка была успешна и после того, как этот mongod работал без любых проблем.