我不知道我需要做什么。每次我尝试在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不同。
但如前所述,启用身份验证通常是一个好习惯,我认为启用它是有原因的。