Mongo 在 Ubuntu 14.04 上全新安装时无法启动
Mongo doesn't start on fresh install on Ubuntu 14.04
在 14.04 上安装 mongodb 后,mongo 开箱即用:
$ sudo apt install mongodb-server
[...]
$ sudo start mongodb
mongodb stop/waiting
这是怎么回事,我该如何解决?
TL;DR: 在/etc/default/mongodb
中将no
更改为yes
并重启服务
有趣的部分在 upstart 脚本 (/etc/init/mongodb.conf
) 的第 19 行和第 21 行:
[...]
script
ENABLE_MONGODB="yes"
if [ -f /etc/default/mongodb ]; then
. /etc/default/mongodb
fi
if [ "$ENABLE_MONGODB" = "yes" ]; then
exec start-stop-daemon --start --quiet --chuid mongodb \
--exec /usr/bin/mongod -- --config /etc/mongodb.conf
fi
end script
所以如果ENABLE_MONGODB
是yes
,mongod启动,一切都很好。它在脚本中设置为 yes
,但来源为 /etc/default/mongodb
。
一瞥 /etc/default/mongodb
显示了问题:
ENABLE_MONGODB="no"
我不知道为什么这个发货被禁用,把它改成yes
然后你就可以sudo restart mongodb
了。
在 14.04 上安装 mongodb 后,mongo 开箱即用:
$ sudo apt install mongodb-server
[...]
$ sudo start mongodb
mongodb stop/waiting
这是怎么回事,我该如何解决?
TL;DR: 在/etc/default/mongodb
中将no
更改为yes
并重启服务
有趣的部分在 upstart 脚本 (/etc/init/mongodb.conf
) 的第 19 行和第 21 行:
[...]
script
ENABLE_MONGODB="yes"
if [ -f /etc/default/mongodb ]; then
. /etc/default/mongodb
fi
if [ "$ENABLE_MONGODB" = "yes" ]; then
exec start-stop-daemon --start --quiet --chuid mongodb \
--exec /usr/bin/mongod -- --config /etc/mongodb.conf
fi
end script
所以如果ENABLE_MONGODB
是yes
,mongod启动,一切都很好。它在脚本中设置为 yes
,但来源为 /etc/default/mongodb
。
一瞥 /etc/default/mongodb
显示了问题:
ENABLE_MONGODB="no"
我不知道为什么这个发货被禁用,把它改成yes
然后你就可以sudo restart mongodb
了。