Mongodb 启动mongod.service失败:找不到单元mongod.service

Mongodb 启动mongod.service失败:找不到单元mongod.service,mongodb,ubuntu,ubuntu-16.04,Mongodb,Ubuntu,Ubuntu 16.04,我遵循MongoDB安装Ubuntu 16.04中提到的所有步骤 步骤1: 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" |

我遵循MongoDB安装Ubuntu 16.04中提到的所有步骤

步骤1:

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 service mongod start
sudo service mongod start
步骤2:

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 service mongod start
sudo service mongod start
步骤3:

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 service mongod start
sudo service mongod start
步骤4:

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 service mongod start
sudo service mongod start
步骤5:

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 service mongod start
sudo service mongod start
当我启动MongoDB时,出现了一个错误:


启动mongod.service失败:找不到单元mongod.service。


我想你缺了一个b

sudo service mongod start
应该是

sudo service mongodb start

我想是这样的吗?

请按照以下步骤操作,它应该可以工作

1-完全卸载当前安装

来源-

删除包

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

MongoShell很可能是单元mongodb.service被屏蔽了。使用以下命令来解除它的掩码

sudo systemctl取消蒙版mongod

并重新运行


sudo服务mongod start

只需使用以下命令进行尝试:

$ sudo systemctl enable mongod

请注意,如果使用针对Linux的Windows子系统,则不支持systemd,因此像
systemctl
这样的命令将不起作用:

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

sudo gedit /etc/init.d/custom-mongo-fix.sh
请参见GitHub上的Microsoft/WSL


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

[Solution]

打字

sudo mongod

它会工作。

启动mongod.service失败:找不到单元mongod.service

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

sudo systemctl enable mongod.service
现在,您可以使用以下命令启动mongodb

sudo systemctl enable mongod.service

当我开始使用上面的命令时,状态为active(活动)

我很长一段时间都遇到了相同的错误,在google上尝试了几乎所有的安装,但找不到答案

我按照中的说明进行操作,但不断收到错误,无法启动mongod.service:找不到Unit mongod.service

我首先使用:sudoapt-get-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 server,如果是,请确保将其更新到目标版本(如所示@->步骤4-安装特定版本的mongodb)

目标_版本=4.0.3

sudo apt get install-y mongodb org=target\u version mongodb org server=target\u version mongodb org shell=target\u version mongodb org mongos=target\u version mongodb org tools=target\u 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

可能是您使用了错误版本的mongodb列表文件。我遇到了这个问题,但这是我的错误,没有为Ubuntu 16.04选择正确的列表文件。默认选择的是Ubuntu 14.04,这就是我出错的原因:“启动mongod.service失败:找不到UnitMongod.service。”

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

为了解决无法在ubuntu 16.04上启动mongodb的问题 1) 查看mongodb日志文件

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检查端口27017上是否启动了mongdob

学分:

我刚刚在parrot操作系统上遇到了这个问题,我就是这样解决的

sudo service mongodb start

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

步骤1:首先,从先前版本中删除MongoDB(如果已安装):

sudo apt remove——自动删除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

希望它能帮助您。

只需按照以下命令操作即可。这对我很有效

  • 从系统中完全卸载mongo:

    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 update
    sudo apt install -y mongodb**
    
    sudo systemctl daemon-reload
    sudo systemctl start mongod
    sudo systemctl enable mongod
    
    注意:数据库服务器在安装后自动启动

  • 接下来,让我们验证服务器是否正在运行并正常工作

    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**
    

  • 在某些情况下,出于某些安全原因,该装置会被标记为屏蔽。这种状态比被禁用时甚至无法手动启动服务强得多

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

    systemctl列出单位文件| grep mongod
    
    如果您发现类似的情况:

        mongod.service                         masked
    
    然后,您可以通过以下方式解除单元的掩码:

    sudo systemctl取消蒙版mongod
    
    然后您可能需要启动该服务
    #!/bin/bash
    
    # mongodb fix
    sudo mkdir /var/lib/mongodb 
    sudo mkdir /var/log/mongodb 
    sudo chown -R mongodb:mongodb /var/log/mongodb 
    sudo chown -R mongodb:mongodb /var/log/mongodb 
    
    sudo systemctl start mongod
    
    "Failed to restart mongodb.service: Unit mongodb.service not found."
    
    sudo systemctl restart mongodb