Rah*_*hul 49 ubuntu mongodb mongodb-query mean-stack
对于ubuntu 16.04
第1步:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
Run Code Online (Sandbox Code Playgroud)
第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
Run Code Online (Sandbox Code Playgroud)
第3步:
sudo apt-get update
Run Code Online (Sandbox Code Playgroud)
第4步:
sudo apt-get install -y mongodb-org
Run Code Online (Sandbox Code Playgroud)
第5步:
sudo service mongod start
Run Code Online (Sandbox Code Playgroud)
当我开始mongodb得到一个错误
"Failed to start mongod.service: Unit mongod.service not found." please help me to solve this.
Run Code Online (Sandbox Code Playgroud)
Jeh*_*lik 81
很可能单位mongodb.service被屏蔽了.使用以下命令取消屏蔽它.
sudo systemctl unmask mongodb
并重新运行
sudo service mongod start
小智 35
请按照以下步骤,它应该工作.
1 - 完全卸载当前安装
来源 - 官方指示
sudo service mongod stop
Run Code Online (Sandbox Code Playgroud)
删除包
sudo apt-get purge mongodb-org*
Run Code Online (Sandbox Code Playgroud)
删除文件夹
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb
Run Code Online (Sandbox Code Playgroud)
2 - 按官方网站上的说明重新安装,我将写下所有步骤.在此输入链接描述
导入公钥
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
Run Code Online (Sandbox Code Playgroud)
为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
Run Code Online (Sandbox Code Playgroud)
更新列表
sudo apt-get update
Run Code Online (Sandbox Code Playgroud)
安装最新的软件包
sudo apt-get install -y mongodb-org
Run Code Online (Sandbox Code Playgroud)
3 - 现在它应该工作,请尝试下面的命令
sudo service mongod start
Run Code Online (Sandbox Code Playgroud)
并检查状态
mongo
Run Code Online (Sandbox Code Playgroud)
它应该出现在mongo shell中
unc*_*exo 34
无法启动mongod.service:找不到单位mongod.service
如果您正在关注官方文档并且遇到上述错误,则意味着您的计算机上尚未启用mongod.service(我在谈论Ubuntu 16.04).您需要使用以下命令执行此操作
sudo systemctl enable mongod.service
Run Code Online (Sandbox Code Playgroud)
现在,您可以使用以下命令启动mongodb
sudo service mongod start
Run Code Online (Sandbox Code Playgroud)
小智 17
你觉得你错过了'b'?
sudo service mongod start
Run Code Online (Sandbox Code Playgroud)
应该
sudo service mongodb start
Run Code Online (Sandbox Code Playgroud)
我想是这样的吗?
Dee*_*pta 10
安装后运行良好;我重启后出现这个问题。
sudo mkdir /var/lib/mongodb
sudo mkdir /var/log/mongodb
sudo chown -R mongodb:mongodb /var/lib/mongodb
sudo chown -R mongodb:mongodb /var/log/mongodb
Run Code Online (Sandbox Code Playgroud)
运行上述命令后打开一个新终端并运行:
sudo systemctl restart mongod
Run Code Online (Sandbox Code Playgroud)
并运行 mongo shell 来检查:
mongo
Run Code Online (Sandbox Code Playgroud)
如果再次出现此问题(就像我每次重新启动时一样),请将其作为 shell 脚本在启动时运行。
步骤1:
/etc/init.d在目录下创建一个文件
sudo gedit /etc/init.d/custom-mongo-fix.sh
Run Code Online (Sandbox Code Playgroud)
第2步:
将以下代码放入您刚刚在步骤 1中打开的文件中
#!/bin/bash
# mongodb fix
sudo mkdir /var/lib/mongodb
sudo mkdir /var/log/mongodb
sudo chown -R mongodb:mongodb /var/lib/mongodb
sudo chown -R mongodb:mongodb /var/log/mongodb
Run Code Online (Sandbox Code Playgroud)
步骤3:
下次启动后,您可以mongod通过以下方式正常启动服务器:
sudo systemctl start mongod
Run Code Online (Sandbox Code Playgroud)
说明: mongodb需要以上两个带有owneras的文件夹mongodb。当我们关闭/重新启动时,其中一个或两个都会被删除。因此,我们需要创建它们并更改它们的所有权。
编辑:我在每次关机前都使用Stacer的清洁工具。这还会删除日志文件和文件夹。因此,每次启动时都会出错。现在我取消选择 mongodb 选项,然后清理。
合十礼。
小智 7
$service mongodb start
$service mongodb status
Run Code Online (Sandbox Code Playgroud)
当我开始使用上述命令时,状态处于活动状态
对于 Ubuntu 16.04.5,注意到在我安装在多台服务器上之后,MongoDB 安装不会在安装后自动启用 mongod.service 文件,因此我们需要像下面这样启用它:
发出以下问题以检查是否启用了 mongod
systemctl list-unit-files --type=service
Run Code Online (Sandbox Code Playgroud)
如果它显示为“已禁用”,那么您需要启用它。
sudo systemctl enable mongod.service
Run Code Online (Sandbox Code Playgroud)
如果我们想查看 mongod.service 文件是否存在,以防此文件丢失,请检查
ls /lib/systemd/system
Run Code Online (Sandbox Code Playgroud)
你会看到一个文件
/lib/systemd/system/mongod.service
Run Code Online (Sandbox Code Playgroud)
小智 6
[解]
只需输入
sudo mongod
Run Code Online (Sandbox Code Playgroud)
它会工作。
30 多个现有答案都没有帮助我,因为我的服务文件实际上丢失了,而不是被屏蔽或禁用。由于某种原因重新安装也没有创建它。解决方案:
cd /lib/systemd/system
sudo touch mongodb.service
# Copy and paste text to go into service file from snippet below horizontal rule
sudo nano mongodb.service
sudo systemctl daemon-reload
sudo systemctl start mongodb
sudo systemctl status mongodb
Run Code Online (Sandbox Code Playgroud)
[Unit]
Description=An object/document-oriented database
Documentation=man:mongod(1)
After=network.target
[Service]
User=mongodb
Group=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
您应该检查 /etc/mongod.conf 实际上是您的conf文件的位置,它可能是/etc/mongodb.conf。
至于您的服务文件最初是如何丢失的。我设法通过卸载 3.0.15 来破坏它,尝试安装 5.* 但失败,因为 ubuntu 16 由于某些依赖项冲突而无法运行它,然后再次重新安装 3.0.15。
小智 5
您可以修复
$ sudo rm /var/lib/mongodb/mongod.lock
$ mongod --repair
$ sudo service mongodb start
Run Code Online (Sandbox Code Playgroud)
对于停止
$ sudo service mongodb stop
Run Code Online (Sandbox Code Playgroud)
对于重新启动-
$ sudo service mongodb restart
Run Code Online (Sandbox Code Playgroud)
对于状态 -
$ sudo service mongodb status
Run Code Online (Sandbox Code Playgroud)
小智 5
根据文档:
运行以下命令来重新加载守护进程:
sudo systemctl daemon-reload
Run Code Online (Sandbox Code Playgroud)
之后您需要重新启动 mongod 服务:
sudo systemctl start mongod
Run Code Online (Sandbox Code Playgroud)
要验证 MongoDB 是否已启动,请运行:
sudo systemctl status mongod
Run Code Online (Sandbox Code Playgroud)
要确保 MongoDB 在系统重新启动后启动,请运行:
sudo systemctl enable mongod
Run Code Online (Sandbox Code Playgroud)
在管理数据库中添加用户时发生了这种情况。
sudo systemctl daemon-reload
Run Code Online (Sandbox Code Playgroud)
从官方 mongo 网站推荐,但没有帮助。
如果你得到
mongod.service 的作业失败,因为控制进程退出并显示错误代码。有关详细信息,请参阅“systemctl status mongod.service”和“journalctl -xe”。
执行时
sudo systemctl start mongod
Run Code Online (Sandbox Code Playgroud)
运行journalctl -xe,如果问题是
Failed to start MongoDB Database Server.
-- Subject: Unit mongod.service has failed
Run Code Online (Sandbox Code Playgroud)
然后运行sudo mongod-->mongo
这将解决问题,如果你想运行systemctl,然后终止 mongod 和 mongo 的窗口并运行
sudo systemctl start mongod
Run Code Online (Sandbox Code Playgroud)
进而 mongo
| 归档时间: |
|
| 查看次数: |
88086 次 |
| 最近记录: |