无论出于何种原因,每当我尝试将 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)
小智 19
这对我有用。
从系统中完全卸载 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)现在使用以下命令重新安装 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)现在您可以看到 mongod 正在运行,但同样的问题仍然困扰着您。问题是你的系统在你运行时找不到 mongod.service sudo service mongod status。
运行此修复它并恢复服务:
sudo systemctl enable mongod
Run Code Online (Sandbox Code Playgroud)现在您已准备好使用 mongo。
sudo service mongod restart
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
159395 次 |
| 最近记录: |