无法启动mongod.service:找不到单元mongod.service

问题描述 投票:47回答:17

我遵循mongodb安装documents.中提到的所有步骤

对于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时出现错误为

"Failed to start mongod.service: Unit mongod.service not found." please help me to solve this.
mongodb ubuntu mongodb-query mean-stack
17个回答
74
投票

[很可能是单位mongodb.service被屏蔽了。使用以下命令将其取消屏蔽。

sudo systemctl unmask mongodb

并重新运行

sudo service mongod start


2
投票

对于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

1
投票

只需遵循以下命令。这对我有用。

  1. 从系统中完全卸载mongo:

    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
投票

出于安全考虑,在某些情况下,该单元将被标记为masked。这是一个比禁用更强大的状态,在禁用状态下,您甚至无法手动启动服务。

要检查,请运行以下命令:

    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


0
投票

请注意,如果将Windows子系统用于Linux,则不支持systemd,因此systemctl之类的命令将不起作用:

无法连接到总线:没有这样的文件或目录

请参见GitHub上的Blockers for systemd? #994,Microsoft / WSL。

仍然可以通过mondgod手动启动mongo服务器以进行开发。


0
投票

解决无法在ubuntu 16.04上启动mongodb的问题1)看mongodb日志文件enter image description here

2)我们发现错误是由于“无法取消套接字文件/ 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上启动

enter image description here

信用:https://www.mkyong.com/mongodb/mongodb-failed-to-unlink-socket-file-tmpmongodb-27017/https://hevodata.com/blog/install-mongodb-on-ubuntu/


0
投票

我刚在鹦鹉操作系统上遇到了这个,这就是我解决它的方法。

sudo service mongodb start

0
投票

以下步骤帮助我解决了无法在Ubuntu Server 18.04 LTS上启动mongodb的问题

步骤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

希望它对您有帮助。


0
投票

对于那些遇到此问题并最终得到此答案的人,就像我所做的那样,在卸载或升级期间他们遇到此错误,并且Ubuntu一直未能uninstall


34
投票

请执行以下步骤,它应该可以工作。

1-完全卸载当前安装

来源-official instructions

sudo service mongod stop

删除软件包

sudo apt-get purge mongodb-org*

删除文件夹

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

2-按照官方网站上的说明进行重新安装,我将写下所有步骤。 enter link description here

导入公共密钥

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

它应该出现mongo shell


32
投票

无法启动mongod.service:找不到单元mongod.service

如果您遵循的是官方文档,并且遇到上述错误,则意味着您的计算机上尚未启用mongod.service(我说的是Ubuntu 16.04)。您需要使用以下命令来执行此操作

sudo systemctl enable mongod.service

现在您可以使用以下命令启动mongodb

sudo service mongod start

17
投票

我认为您缺少'b'吗?

sudo service mongod start

应该是

sudo service mongodb start

我认为是这种情况?


5
投票

只需尝试使用此命令:

$ sudo systemctl enable mongod

5
投票

[解决方案]

仅类型

sudo mongod

它将起作用。


4
投票
$service mongodb start
$service mongodb status

当我开始使用上述命令时,该状态为活动状态


2
投票

我很长一段时间都遇到了相同的错误,在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

数据库版本是2.6.12,而不是最新的4.0.3。因此,请确保您尚未安装mongodb-org-server,如果是,则请确保将其更新到目标版本(如@ https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/->步骤4-安装特定版本的MongoDB所示。)

target_version = 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:未找到Unit mongod.service。”enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.