如何在不进入mongodb shell的情况下关闭/停止mongodb中运行的数据库



我不知道我需要做什么。每次我尝试在Linux上运行mongo shell时,我都会得到一个错误,要求我在使用start- noth运行MongoDB之前停止数据库。我不知道该怎么做。你能帮我吗?

我已经尝试停止和退出MongoDB,但问题仍然存在。

如果你不想关机的话,通常是这样的:

systemctl stop mongod
or
service stop mongod

你可以这样停止:

# enter in the mongodb
mongo
# change to admin database
use admin
# shutdown the database
db.shutdownServer()

在一般情况下,它不看起来很聪明,如果你想重新启动你的MongoDB没有身份验证时,身份验证是实际启用。通常启用身份验证是有原因的。

正确的方法是停止MongoDB

systemctl stop mongod

,然后在配置文件中禁用身份验证,通常在/etc/mongod.conf:

security:
authorization: disabled 

然后你可以用

重新启动服务
systemctl start mongod

如果您不知道配置文件的位置,请查看服务文件:

$ systemctl status mongod
● mongod.service - MongoDB Database Server
Loaded: loaded (/etc/systemd/system/mongod.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2023-02-16 14:29:12 CET; 1 months 15 days ago

$ cat /etc/systemd/system/mongod.service
[Unit]
Description=MongoDB Database Server
Documentation=https://docs.mongodb.org/manual
After=network.target
[Service]
User=mongod
Group=mongod
Environment="OPTIONS=-f /etc/mongod.conf"
ExecStart=/usr/bin/mongod $OPTIONS
...

以上命令适用于Redhat/CentOS Linux,它们可能与您的Linux不同。

但如前所述,启用身份验证通常是一个好习惯,我认为启用它是有原因的。

相关内容

  • 没有找到相关文章

最新更新