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

Sid*_*ain 55 mongodb 16.04

无论出于何种原因,每当我尝试将 MongoDB 作为服务启动 (sudo service mongod start) 时,我都会收到以下错误:

启动 mongod.service 失败:未找到单元 mongod.service。我按照安装步骤提到以下链接 mongo db安装 失败

system> sudo systemctl start mongodb
Failed to start mongodb.service: Unknown unit: mongodb.service
Run Code Online (Sandbox Code Playgroud)

当我尝试sudo mongod

MongoDB shell version: 3.2.13 connecting to: - 
2017-06-03T16:19:28.513+0530 W NETWORK [thread1] 
Failed to connect to 127.0.0.1:27017, in(checking socket for error after poll), reason: errno:111 Connection refused 
2017-06-03T16:19:28.514+0530 E QUERY [thread1] 
Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed : connect@src/mongo/shell/mongo.js:229:14 @(connect):1:6 exception: connect failed
Run Code Online (Sandbox Code Playgroud)

当我尝试mongod --repair

2017-06-03T16:32:35.514+0530 I CONTROL [initandlisten] 
MongoDB starting : pid=17423 port=27017 dbpath=/data/db 64-bit host=sid-Ideapad-Z570 2017-06-03T16:32:35.514+0530 I 
CONTROL [initandlisten] db version v3.2.13 [listen] target_arch: x86_64 2017-06-03T16:32:35.514+0530 I 
CONTROL [initandlisten] options: {} 2017-06-03T16:32:35.540+0530 I STORAGE [initandlisten] exception in initAndListen: 29 Data directory /data/db not found., terminating
Run Code Online (Sandbox Code Playgroud)

Shu*_*ary 84

我重新安装了 mongod-org,因为我的数据仍然安全。

问题是我的系统在运行时找不到 mongod.service sudo service mongod status

运行此修复它并恢复服务:

sudo systemctl enable mongod
Run Code Online (Sandbox Code Playgroud)

然后我所要做的就是将正确的配置复制到/etc/mongod.conf并运行

sudo service mongod restart
Run Code Online (Sandbox Code Playgroud)

  • 我试图启用 mongod,但它显示“无法执行操作:没有这样的文件或目录” (9认同)

小智 19

这对我有用。

  1. 从系统中完全卸载 mongo:

    sudo service mongod stop 
    sudo apt-get purge mongodb-org* 
    sudo rm -r /var/log/mongodb 
    sudo rm -r /var/lib/mongodb
    
    Run Code Online (Sandbox Code Playgroud)
  2. 现在使用以下命令重新安装 mongodb:

    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
    
    Run Code Online (Sandbox Code Playgroud)

    要安装特定版本,您必须单独指定每个组件包以及版本号,如下例所示:

    sudo apt-get install -y mongodb-org=3.6.0 mongodb-org-server=3.6.0 mongodb-org-shell=3.6.0 mongodb-org-mongos=3.6.0 mongodb-org-tools=3.6.0
    
    Run Code Online (Sandbox Code Playgroud)
  3. 现在您可以看到 mongod 正在运行,但同样的问题仍然困扰着您。问题是你的系统在你运行时找不到 mongod.service sudo service mongod status

    运行此修复它并恢复服务:

    sudo systemctl enable mongod
    
    Run Code Online (Sandbox Code Playgroud)
  4. 现在您已准备好使用 mongo。

    sudo service mongod restart
    
    Run Code Online (Sandbox Code Playgroud)