我按照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.
答案 0 :(得分:56)
很可能单位mongodb.service被屏蔽了。使用以下命令取消屏蔽它。
sudo systemctl unmask mongodb
并重新开始
sudo service mongod start
答案 1 :(得分:28)
请按照以下步骤进行操作。
1 - 完全卸载当前安装
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
答案 2 :(得分:21)
无法启动mongod.service:未找到单元mongod.service
如果您遵循的是官方文档,并且遇到上述错误,则表明您的计算机上尚未启用 mongod.service (我在谈论Ubuntu 16.04)。您需要使用以下命令进行操作
sudo systemctl enable mongod.service
现在您可以使用以下命令启动 mongodb
sudo service mongod start
答案 3 :(得分:10)
我想你错过了'b'?
sudo service mongod start
应该是
sudo service mongodb start
我认为情况就是这样吗?
答案 4 :(得分:5)
试试这个命令:
$ sudo systemctl enable mongod
答案 5 :(得分:5)
<强> [解决] 强>
输入
sudo mongod
它会起作用。
答案 6 :(得分:4)
这是在向管理数据库添加用户时发生的。
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
答案 7 :(得分:4)
运行以下命令以重新加载守护程序:
sudo systemctl daemon-reload
此后,您需要重新启动mongod服务:
sudo systemctl start mongod
要验证MongoDB已启动,请运行:
sudo systemctl status mongod
要确保MongoDB将在系统重启后启动,请运行:
sudo systemctl enable mongod
答案 8 :(得分:2)
$service mongodb start
$service mongodb status
当我开始使用上述命令时,状态为活动
答案 9 :(得分: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。)< / p>
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
答案 10 :(得分:2)
可能是您使用了错误版本的mongodb列表文件。我遇到了这个问题,但是当没有为Ubuntu 16.04选择正确的列表文件时,这是我的错误。默认选择为Ubuntu 14.04,这是我的错误的原因:“无法启动mongod.service:未找到Unit mongod.service。”
答案 11 :(得分: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
答案 12 :(得分:1)
在某些情况下,出于安全原因,该单元会被标记为 已屏蔽 。这是一个比禁用更强大的状态,在禁用状态下,您甚至无法手动启动服务。
要对此进行检查,请运行以下命令:
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
答案 13 :(得分:1)
安装后工作正常;重启后出现这个问题。
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 restart mongod
并运行 mongo shell 进行检查:
mongo
如果这个问题再次出现(就像我每次重新启动时一样),请将其设置为在启动时运行的 shell 脚本。
第 1 步:
在 /etc/init.d
目录下创建一个文件
sudo gedit /etc/init.d/custom-mongo-fix.sh
第 2 步:
将以下代码放入您刚刚在步骤 1
中打开的文件中#!/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
第 3 步:
下次启动后,您可以通过以下方式正常启动 mongod
服务器:
sudo systemctl start mongod
说明: mongodb
需要以上两个文件夹,owner
为 mongodb
。当我们关闭/重新启动时,它们中的一个或两个都会被删除。因此,我们需要创建它们并更改它们的所有权。
编辑:每次关机前我都在使用 Stacer 的清洁工具。这也会删除日志文件和文件夹。因此,每次启动时都会出错。现在我取消选择 mongodb 选项,然后清理。
合十礼。 ?
答案 14 :(得分:1)
如果您已经发现有用的数据,请不要删除数据库。只需运行下面的命令,您就很好了。
sudo systemctl restart mongodb.service
答案 15 :(得分:1)
好吧...。我的回答可能被认为是幼稚的,但实际上,这是MongoDB在我的情况下(Ubuntu 19.10)工作的唯一方法。在运行时,我尝试从投票最多的注释中运行命令,但没有一个起作用:
mongod --repair
我收到此警报:
通过一些研究,我发现在另一个端口上运行数据库可能是一种解决方案,然后:
mongod --port 27018
每次都对我有用。答案很长,但是想在给出这样一个简单的解决方案之前先给出上下文。
(如果我做错了或看起来不合逻辑,请告诉我!与我相关)
答案 16 :(得分:1)
对于那些遇到此问题并最终得到此答案的用户,就像我所做的那样,在卸载或升级期间他们遇到此错误,并且Ubuntu一直未能卸载,因为该服务不存在这一行将带您过去,并允许继续进行卸载或升级。
sudo touch /lib/systemd/system/mongod.service
答案 17 :(得分:1)
对于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
答案 18 :(得分:0)
您可以维修
$ 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
答案 19 :(得分:0)
只需遵循以下命令。这对我有用。
从系统中完全卸载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 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**
答案 20 :(得分: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
希望它对您有帮助。
答案 21 :(得分:0)
我刚在鹦鹉操作系统上遇到了这个,这就是我解决它的方法。
sudo service mongodb start
答案 22 :(得分:0)
解决无法在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
信用:https://www.mkyong.com/mongodb/mongodb-failed-to-unlink-socket-file-tmpmongodb-27017/ https://hevodata.com/blog/install-mongodb-on-ubuntu/
答案 23 :(得分: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
代替此命令手动执行
cd /etc/apt/
nano sources.list
deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse
并保存文件,
按照安装文档中的说明继续所有过程
它对我有用:
答案 24 :(得分:0)
尝试以下操作:sudo systemctl start mongod
,并检查其是否正在使用sudo systemctl status mongod
答案 25 :(得分:0)
对于 Ubuntu
,如果您安装了旧的 mongodb(例如 3.x)。
那么您可能需要:
sudo rm -r /var/lib/mongodb
sudo rm /etc/init.d/mongodb
sudo service mongod start
开始。sudo service mongod status
检查状态。提示:
sudo service mongodb start
,还有一个额外的b
,这是旧的mongodb,这就是我们使用sudo rm /etc/init.d/mongodb
的原因。答案 26 :(得分:0)
请注意,如果使用适用于Linux的Windows子系统,则不支持systemd,因此systemctl
之类的命令将无效:
无法连接到总线:没有这样的文件或目录
请参阅GitHub上的Blockers for systemd? #994,Microsoft / WSL。
mongo服务器仍然可以通过mondgod
手动启动以进行开发。
答案 27 :(得分:0)
这是因为如果您关闭了 rootlogin,Ubuntu 或任何其他操作系统将无法正确处理系统文件。没错。即使您在文件系统上输入根目录。我知道这似乎不合逻辑,但这里全是 1 和 0。
即使我有 su -
要么
ssh root@934.2349.234243
(随机 IP,不会在这里暴露自己:))
还是没有开始!
"Failed to restart mongodb.service: Unit mongodb.service not found."
那么……
您需要激活 root 登录。您可以下载 Cyberduck 或任何文件浏览器来快速找到该文件。
前往: /etc/ssh/
如果你不能使用软件工具,你可以使用上面的步骤: vi /etc/ssh/sshd_config 然后按 ctrl-c 写入控制台以保存它 :wq
更改这个名为 sshd_config 的文件: /etc/ssh/sshd_config
编辑为是: PermitRootLogin 是
重启 VPS
然后写
sudo systemctl restart mongodb
瞧! Tek sevdamız Türkiye
如果这也无济于事,因为您的 VPS 刚刚在根上启动服务,您可能应该重新安装 VPS
答案 28 :(得分:0)
试试:
sudo /etc/init.d/mongodb status
或:
sudo /etc/init.d/mongodb start
答案 29 :(得分:-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
它奏效了