首页 > 编程知识 正文

mongodb多实例开机启动,mongodb启动命令

时间:2023-05-03 23:53:52 阅读:17312 作者:4085

如果MongoDB突然无法启动,第一个反应是删除mongod.lock。 该文件位于MongoDB的数据库目录中,默认值为/data/db。 这是最常见的问题,原因是MongoDB没有正常结束。 例如,被kill -9杀死,或在其他意外情况下中断。

其他可能无法启动MongoDB。 本文使用/etc/init.d/mongodb start或sudo service mongdb start来呈现mongodb start/running,但看到status则显示停止/等待

因为service SERVERNAME status有误报的可能性,所以首先确认MongoDB的实际情况。 主要是在ps axu|grep mongod中查看是否存在相关进程、打开links、在浏览器中直接访问127.0.0.1:28017,表示MongoDB的信息不可见,都没有启动

然后执行:

$ sudomongodrepairconfig/etc/MongoDB.conf

$ sudomongodconfig/etc/MongoDB.conf

第一个命令是修复操作,第二个命令手动指定MongoDB配置文件,并直接在终端上运行,以便在输出错误时直观,无需翻阅日志。 如果mongod成功运行,则说明配置文件和数据库没有问题,/usr/牢固的香水/mongodb权限不足。 请参阅本文最后的setcap方法。

如果无法执行,将显示错误消息。 分为三种情况:配置文件错误、数据目录设置错误和/usr/坚固香水/mongod文件错误。

配置文件中的错误是显而易见的,参数错误显式指示error command line : unknownoptionxxx。 第二条即使明确指定命令中使用的配置文件,也容易出错。 因此,除了以前曾经跟随MongoDB主从修改并破坏配置文件外,很少遇到配置文件问题。

接下来是数据目录。 主要是权限问题。 可能的错误如下。

thu 221110:0:30 [ initandlisten ] warning couldn’twriteto/rename file/SRV/MongoDB/journal/pre alloc.0

thu 22110:0:30 [ initandlisten ] couldn’topen/SRV/MongoDB/duo Shuo.ns errno 33601 operationnnnotpermitted

thu 22110:0:30 [ initandlisten ] error couldn’top enfile/SRV/MongoDB/duo Shuo.ns terminating

数据目录的所有者必须是mongodb:mongodb。

$ sudochownmongodb : MongoDB MongoDB

最后一种情况是/usr/扎实的香水/mongod的问题。 该错误与目录没有读写权限相同,但是将MongoDB的数据库目录设置为777也有同样的问题。 mongodb不具有此权限,因为mongod通过O_NOATIME标志访问文件系统。 用setcap设定。

# setcap cap_fowner ep /usr/扎实的香水/mongod

如果这样也不行的话……备份数据库后卸载并重新安装apt-get purge吧。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。