Не вдалося запустити mongod.service: одиницю mongod.service не знайдено


78

Я виконую всі кроки, згадані в документації щодо встановлення MongoDB для Ubuntu 16.04.

Крок 1:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5

Крок 2:

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

Крок 3:

sudo apt-get update

Крок 4:

sudo apt-get install -y mongodb-org

Крок 5:

sudo service mongod start

коли я запускав MongoDB, з'явилася помилка:

Не вдалося запустити mongod.service: одиницю mongod.service не знайдено.


2
У мене така сама проблема, і наступна відповідь для мене спрацювала єдиним: https://askubuntu.com/a/842599
Алі Мусаві

Відповіді:


105

Швидше за все, блок mongodb.service маскується. Використовуйте наступну команду, щоб демаскувати її.

sudo systemctl unmask mongod

і повторно запустити

sudo service mongod start


6
@Ilan, ми не можемо допомогти тобі, якщо ти не поясниш нам свою проблему. Просто сказати "не працює на мене", не допомагає.
Jehanzeb.Malik

4
повертається:Unit mongodb.service does not exist, proceeding anyway.
alper

4
правильна команда:sudo systemctl unmask mongod && sudo service mongod start
forkie

3
важлива друкарська помилка призвела до того, що ця відповідь не спрацювала. будь ласка, виправте це. правильна назва одиниці в Ubuntu - це mongodне так mongodb. тому права команда викрити це буде: sudo systemctl unmask mongod. Дякую за увагу.
mahyard

3
З якоїсь причини мені довелося сказати mongodbзамість mongodUbuntu 19.10.
Даніель

43

Будь ласка, виконайте наведені нижче дії, це має спрацювати.

1 - Повністю видаліть поточну установку

Джерело - офіційна інструкція

sudo service mongod stop

Видаліть пакети

sudo apt-get purge mongodb-org*

Вийміть папки

sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb

2 - Перевстановіть, як описано на офіційному сайті, я просто запишу всі кроки. введіть тут опис посилання

Імпортуйте відкритий ключ

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5

Створіть файл списку для Ubuntu 16.04

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

3 - Тепер це повинно працювати, спробуйте нижче команду

sudo service mongod start

і перевірити стан

mongo

у ньому повинна з'явитися оболонка монго


5
Для майбутніх читачів, які перевстановили безрезультатно, ця відповідь AskUbuntu є кращим рішенням. Незрозуміло, в чому різниця цієї відповіді та спроби ОП, оскільки обидва вказують на одне і те ж посилання на інструкції.
Парфе

Було б непогано, якби коментар @ Parfait був включений у відповідь. Заощадила мені неймовірну кількість часу.
Філіп Мартін

Це працює, я думаю, проблема полягала в тому, що я не встановив потрібну версію ubuntu (перевірте це lsb_release -a)
Альберт Джеймс Тедді

Працював у мене. Дякую!
wout

41

Не вдалося запустити mongod.service: одиницю mongod.service не знайдено

Якщо ви стежите за офіційним документом і стикаєтесь із наведеною вище помилкою, це означає, що mongod.service ще не увімкнено на вашій машині (я кажу про Ubuntu 16.04). Вам потрібно це зробити, використовуючи наступну команду

sudo systemctl enable mongod.service

Тепер ви можете запустити mongodb, використовуючи наступну команду

sudo service mongod start

5
Не вдалося виконати операцію: Немає такого файлу чи каталогу :(
Midhun GS

Це спрацювало, хоча systemctl list-unit-files --type=serviceсказано, що mongodце вже включено. Дивно.
Крістіан Макс

35

Я думаю, вам не вистачає букви "b"?

sudo service mongod start

має бути

sudo service mongodb start

Я думаю, це так?


6
після запуску "sudo systemctl unmask mongodb" працює :)
Рахул

3
На ubuntu 18.04 якщо ви встановили із системного репо, то це mongodbзамістьmongod
qed




5

Для Ubuntu 16.04.5 помічено, що встановлення MongoDB не вмикає автоматично файл mongod.service після встановлення в моєму випадку після того, як я встановив на декілька серверів, тому нам потрібно ввімкнути його, як показано нижче:

Випуск нижче, щоб перевірити, чи ввімкнено mongod

systemctl list-unit-files --type=service

Якщо він відображається як "вимкнений", вам потрібно його ввімкнути.

sudo systemctl enable mongod.service

Якщо ми хочемо перевірити, чи існує файл mongod.service у випадку, якщо цей файл відсутній, зареєструйтесь

ls /lib/systemd/system

Ви побачите файл

/lib/systemd/system/mongod.service

4

Відповідно до документації :

Виконайте цю команду, щоб перезавантажити демон:

sudo systemctl daemon-reload

Після цього вам потрібно перезапустити службу mongod:

sudo systemctl start mongod

Щоб перевірити, що MongoDB запустився, запустіть:

sudo systemctl status mongod

Щоб переконатися, що MongoDB почне після перезавантаження системи, запустіть:

sudo systemctl enable mongod

4

Це трапилося зі мною під час додавання користувачів в адміністратор db.

sudo systemctl daemon-reload 

рекомендується на офіційному веб-сайті mongo, але не допомогло.

Якщо ви отримаєте

Не вдалося виконати завдання для mongod.service, оскільки процес керування завершився із кодом помилки. Детальніше див. У "systemctl status mongod.service" та "journalctl -xe".

Під час виконання

sudo systemctl start mongod

запустити, journalctl -xeі якщо проблема є

Failed to start MongoDB Database Server.
-- Subject: Unit mongod.service has failed

Потім запустіть sudo mongod-> mongo Це вирішить проблему, і якщо ви хочете запустити програму systemctl, закрийте вікна для mongod та mongo та запустіть

sudo systemctl start mongod 

і потім mongo


3

У деяких випадках з певних міркувань безпеки підрозділ буде позначений як маскований . Цей стан набагато сильніший, ніж вимкнення, коли ви навіть не можете запустити службу вручну.

щоб перевірити це, виконайте таку команду:

    systemctl list-unit-files | grep mongod

якщо ви дізнаєтесь щось подібне:

    mongod.service                         masked

тоді ви можете демаскувати пристрій, виконавши:

    sudo systemctl unmask mongod

тоді ви можете запустити послугу:

    sudo systemctl start mongod

і щоб увімкнути автозапуск під час завантаження системи:

    sudo systemctl enable mongod

Однак якщо mongodb не запускався знову або взагалі не маскувався, ви можете перевстановити його таким чином:

    sudo apt-get --purge mongo*
    sudo apt-get install mongodb-org

завдяки @ jehanzeb-malik


2

Я давно отримав одну і ту ж помилку, спробував майже всю установку isntruciton в Google, але не зміг знайти відповідь ...

Я дотримувався вказівок https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/, але продовжував отримувати помилку Не вдалося запустити mongod.service: одиницю mongod.service не знайдено

Спочатку я встановив за допомогою: sudo apt-get install -y mongodb-org Потім помітив, що коли я запускаю:

$ sudo apt-get install -y mongodb-org
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  mongodb-org-mongos mongodb-org-shell mongodb-org-tools
The following NEW packages will be installed
  mongodb-org mongodb-org-mongos mongodb-org-shell mongodb-org-tools
0 to upgrade, 4 to newly install, 0 to remove and 46 not to upgrade.
Need to get 0 B/40.1 MB of archives.
After this operation, 178 MB of additional disk space will be used.
Selecting previously unselected package mongodb-org-shell.
(Reading database ... 379307 files and directories currently installed.)
Preparing to unpack .../mongodb-org-shell_4.0.3_amd64.deb ...
Unpacking mongodb-org-shell (4.0.3) ...
Selecting previously unselected package mongodb-org-mongos.
Preparing to unpack .../mongodb-org-mongos_4.0.3_amd64.deb ...
Unpacking mongodb-org-mongos (4.0.3) ...
Selecting previously unselected package mongodb-org-tools.
Preparing to unpack .../mongodb-org-tools_4.0.3_amd64.deb ...
Unpacking mongodb-org-tools (4.0.3) ...
Preparing to unpack .../mongodb-org_4.0.3_amd64.deb ...
Unpacking mongodb-org (4.0.3) ...
Setting up mongodb-org-shell (4.0.3) ...
Setting up mongodb-org-mongos (4.0.3) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
Setting up mongodb-org-tools (4.0.3) ...
Setting up mongodb-org (4.0.3) ...


$ mongod --version
db version v2.6.12
2018-10-26T12:03:12.362+0200 git version: d73c92b1c85703828b55c2916a5dd4ad46535f6a

Версія db була 2.6.12 замість останньої версії 4.0.3. Тож переконайтесь, що у вас вже не встановлений сервер mongodb-org-сервер, якщо так, то переконайтеся, що ви оновили його до цільової версії (як зазначено @ https://docs.mongodb.com/manual/tutorial/install-mongodb-on -ubuntu / -> Крок 4 - Встановіть певний випуск MongoDB.)

цільова_версія = 4.0.3

sudo apt-get install -y mongodb-org = target_version mongodb-org-server = target_version mongodb-org-shell = target_version mongodb-org-mongos = target_version mongodb-org-tools = target_version

$ sudo apt-get install -y mongodb-org=4.0.3 mongodb-org-server=4.0.3 mongodb-org-shell=4.0.3 mongodb-org-mongos=4.0.3 mongodb-org-tools=4.0.3
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed
  mongodb-org mongodb-org-mongos mongodb-org-shell mongodb-org-tools
The following packages will be upgraded:
  mongodb-org-server
1 to upgrade, 4 to newly install, 0 to remove and 45 not to upgrade.
Need to get 15.7 MB/55.8 MB of archives.
After this operation, 217 MB of additional disk space will be used.
Get:1 https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0/multiverse amd64 mongodb-org-server amd64 4.0.3 [15.7 MB]
Fetched 15.7 MB in 2s (6,289 kB/s)                 
Selecting previously unselected package mongodb-org-shell.
(Reading database ... 379306 files and directories currently installed.)
Preparing to unpack .../mongodb-org-shell_4.0.3_amd64.deb ...
Unpacking mongodb-org-shell (4.0.3) ...
**Preparing to unpack .../mongodb-org-server_4.0.3_amd64.deb ...
Failed to stop mongod.service: Unit mongod.service not loaded.
invoke-rc.d: initscript mongod, action "stop" failed.
dpkg: warning: old mongodb-org-server package pre-removal script subprocess returned error exit status 5
dpkg: trying script from the new package instead ...
dpkg: ... it looks like that went OK
Unpacking mongodb-org-server (4.0.3) over (2.6.12) ...**
Selecting previously unselected package mongodb-org-mongos.
Preparing to unpack .../mongodb-org-mongos_4.0.3_amd64.deb ...
Unpacking mongodb-org-mongos (4.0.3) ...
Selecting previously unselected package mongodb-org-tools.
Preparing to unpack .../mongodb-org-tools_4.0.3_amd64.deb ...
Unpacking mongodb-org-tools (4.0.3) ...
Preparing to unpack .../mongodb-org_4.0.3_amd64.deb ...
Unpacking mongodb-org (4.0.3) ...
Processing triggers for ureadahead (0.100.0-20) ...
Setting up mongodb-org-shell (4.0.3) ...
Setting up mongodb-org-mongos (4.0.3) ...
Processing triggers for systemd (237-3ubuntu10.3) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
Setting up mongodb-org-tools (4.0.3) ...
Setting up mongodb-org-server (4.0.3) ...
Installing new version of config file /etc/mongod.conf ...
Setting up mongodb-org (4.0.3) ...

і після цього все працює на мене: D


2

Можливо, ви використовуєте неправильну версію файлу списку mongodb. Я зіткнувся з цією проблемою, але це моя помилка, коли я не вибрав потрібний файл списку для Ubuntu 16.04. За замовчуванням вибрано Ubuntu 14.04, і це причина моєї помилки: "Не вдалося запустити mongod.service: одиницю mongod.service не знайдено." введіть тут опис зображення


2

Наступні кроки допомогли мені вирішити проблему неможливості запустити mongodb на Ubuntu Server 18.04 LTS

Крок 1: Спочатку видаліть MongoDB із попереднього, якщо він встановлений:

sudo apt remove --autoremove mongodb-org

Крок 2: Видаліть усі файли списку репозиторію mongodb:

sudo rm /etc/apt/sources.list.d/mongodb*.list
sudo apt update

Крок 3: Імпортуйте відкритий ключ, що використовується системою управління пакетами:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4

Крок 4: Створіть файл списку для MongoDB:

echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list

Крок 5: Перезавантажте локальну базу даних пакетів:

sudo apt-get update

Крок 6: Встановіть пакети MongoDB:

sudo apt-get install -y mongodb-org

Крок 7: Запустіть MongoDB:

sudo service mongod start

Крок 8: Почніть використовувати MongoDB:

mongo

Сподіваюся, це допоможе вам.


2

Ви можете відремонтувати

$ sudo rm /var/lib/mongodb/mongod.lock
$ mongod --repair
$ sudo service mongodb start

Для зупинки

$ sudo service mongodb stop

Для перезапуску

$ sudo service mongodb restart

Для статусу-

$ sudo service mongodb status

2

Це спрацювало у мене на ubuntu 20.04: у моєму випадку файл mongod.service був заблокований, тому він видавав мені ту ж помилку. Щоб вирішити проблему: - Крок 1: Використовуйте наступну команду, щоб перевірити, чи присутній там mongod.service

cd /usr/bin/systemd/system
ls

Крок 2: Якщо файл присутній там, виконайте наступну команду, щоб розблокувати файл mongod.service

sudo chmod 777 /usr/bin/systemd/system/mongod.service -R

Крок 3: Тепер виконайте такі команди:

sudo systemctl daemon-reload
sudo systemctl start mongod
sudo systemctl enable mongod

1

Щоб вирішити проблему неможливості запустити mongodb в ubuntu 16.04 1) подивіться на файл журналу mongodb введіть тут опис зображення

2) ми виявляємо, що помилка пов’язана з „Не вдалося від’єднати файл socket / tmp / mongodb-27017”

3) Подивіться на дозвіл файлу /tmp/mongdb-27017.lock і переконайтеся, що власник є root, а не mongodb

4) Видаліть файл /tmp/mongodb-27017.sock вручну та скористайтеся командою "sudo chown mongodb: mongodb / tmp / mongodb *"

5) Запустіть службу з systemcl і використовуйте netstat, щоб перевірити, чи запущено mongdob на порту 27017

введіть тут опис зображення

Кредит: https://www.mkyong.com/mongodb/mongodb-failed-to-unlink-socket-file-tmpmongodb-27017/ https://hevodata.com/blog/install-mongodb-on-ubuntu/


1

Я щойно зіткнувся з цим на моїх папугах, і ось як я це вирішив.

sudo service mongodb start

1

Просто виконайте наведені нижче команди. Це спрацювало для мене.

  1. Повністю видаліть монго з вашої системи:

    sudo service mongod stop
    sudo apt-get purge mongodb-org
    sudo rm -r /var/log/mongodb
    sudo rm -r /var/lib/mongodb
    
  2. Тепер переінсталюйте mongodb, використовуючи такі команди:

    sudo apt update
    sudo apt install -y mongodb**
    

    Примітка: Сервер баз даних автоматично запускається після встановлення.

  3. Далі, давайте перевіримо, що сервер працює і працює належним чином.

    sudo systemctl status mongodb
    

    Ви побачите цей результат:

    mongodb.service - An object/document-oriented database
    Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled)
    Active: active (running) since Sat 2018-05-26 07:48:04 UTC; 2min 17s ago
    Docs: man:mongod(1)
    Main PID: 2312 (mongod)
    Tasks: 23 (limit: 1153)
    CGroup: /system.slice/mongodb.service
       └─2312 /usr/bin/mongod --unixSocketPrefix=/run/mongodb --config /etc/mongodb.conf**
    

1

Для тих, хто стикається з цим і опиняється на цій відповіді, як і я, де вони отримали цю помилку під час видалення orupgrade, а Ubuntu не вдається видалити попередню, оскільки служба не існує, цей один рядок допоможе вам пройти це і дозволить видалити або оновити, щоб продовжити.

sudo touch /lib/systemd/system/mongod.service

1

Ну .... Мою відповідь можна вважати наївною, але насправді це був єдиний спосіб роботи MongoDB у моєму випадку, Ubuntu 19.10. Я намагався запустити команди з найбільш голосованих коментарів, і жоден не працював під час запуску:

mongod --repair

Я отримав таке сповіщення:

Перший раз, коли я використав MongoDB, ця помилка з’явилася

У результаті деяких досліджень я з’ясував, що запуск БД в іншому порту може бути рішенням:

mongod --port 27018

І це у мене чудово працює кожного разу. Довга відповідь, але я хотів дати контекст, перш ніж давати таке просте рішення.

(Якщо я роблю це неправильно або не здається логічним, скажіть, будь ласка! Для мене це стосується)


1

Не видаляйте свій db, якщо у вас вже є деякі дані, які вам здалися корисними. Просто запустіть команду нижче, і все добре.

sudo systemctl restart mongodb.service

0

Зверніть увагу, що якщо ви використовуєте підсистему Windows для Linux, systemd не підтримується, і тому такі команди, як systemctlне працюватимуть:

Не вдалося підключитися до шини: немає такого файлу або каталогу

Дивіться Блокатори для systemd? # 994 на GitHub, Microsoft / WSL.

Сервер mongo все ще можна запустити вручну, mondgodдля розвитку, звичайно.


0

Другим кроком установки mongo є

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list

Замість цієї команди зробіть це вручну

  1. cd /etc/apt/
  2. nano sources.list
  3. Напиши це deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse

І збережіть файл,

Продовжуйте весь процес, як у документації щодо встановлення

Це працює для мене:


0

Спробуйте це: sudo systemctl start mongod і щоб перевірити, чи використовується воно постійноsudo systemctl status mongod


-1

Я теж отримав ту ж помилку .. моя помилка - це незадоволені залежності, /var/cache/apt/archives/mongodb-org-server_4.4.2_amd64.debі я запустив це:

sudo dpkg -i --force-all /var/cache/apt/archives/mongodb-org-server_4.4.2_amd64.deb

і це спрацювало

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.