搭建mongodb时报错:
bout to fork child process, waiting until server is ready for connections. forked process: 2177 ERROR: child process failed, exited with error number 1
或者是(我是第二种错误,建议根据log来排查):
xception in initAndListen: 98 Unable to create/open lock file: /opt/module/mongodb/data/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating
有两种可能性和解决方案:
第一种:
造成这个报错的原因是 “MongoDB” 服务没有正常的关闭,在终端连接非正常断开后,再次执行 MongoDB 的时候报错。
这是 Mongod 启动的一个常见错误,在 MongoDB服务 启动后,会在数据存储的路径生成一个 lock 文件,非法关闭的时候,这个 lock 文件 没有干掉,所以在第二次启动的时候检查到有 lock 文件的存在,就报这个错误了。
解决这个问题的方法,其实也很简单,进入到数据存储路径,将该 “xxx.lock 文件” 删除掉就好。
# 这个路径是我的 MongoDB 的安装路径,请根据自己的安装路径进行操作。
cd /opt/mudole/mongodb/你存放的位置
# 删除 "lock 文件"
rm -rf mongod.lock
再次启动 MongoDB 服务
mongod --dbpath /usr/local/var/mongodb/db
第二种:
我们进入到log里面查看日志
cd /opt/module/mongodb/log
发现有:
xception in initAndListen: 98 Unable to create/open lock file: /opt/module/mongodb/data/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating
那么我们给一个权限就好了:
chmod 777 -R mongodb |
终于,问题解决啦!
如果能够帮助你,三连让别人也看见呀!⭐️
Guff_hys_python数据结构,大数据开发学习,python实训项目-CSDN博客
MongoDB是一个基于分布式文件存储的开源数据库系统,由C++语言编写,旨在为开发者提供高性能、高可用性和易扩展性的数据库解决方案。MongoDB的设计理念是将数据存储为文档,而不是传统的行和列的关系型数据库。这种文档存储的方式使得MongoDB能够更好地适应应用程序的数据模型变化,并且更容易进行水平扩展。
MongoDB的特点包括:
1. 面向文档的存储方式:MongoDB使用BSON(Binary JSON)格式来存储数据,这种格式能够更好地表示复杂的数据结构,同时也更加紧凑和高效。文档的存储方式也更符合现代应用程序的数据模型,能够更好地满足开发者对数据的需求。
2. 高性能:MongoDB采用了内存映射文件的方式来进行数据存储,这使得读写数据的速度非常快。同时,MongoDB还支持水平扩展,能够很容易地扩展到多台服务器上,从而提高了系统的整体性能。
3. 高可用性:MongoDB支持副本集和分片集群,能够保证数据的高可用性和容错性。副本集是指将数据复制到多个节点上,当主节点出现故障时,系统能够自动切换到备用节点。而分片集群则是将数据分片存储在多个节点上,能够更好地处理大规模数据的存储和查询。
4. 灵活的数据模型:MongoDB支持动态的模式,能够更好地适应应用程序的数据模型变化。开发者可以在不同的文档中存储不同的字段,而不需要事先定义表结构。
5. 易用的查询语言:MongoDB使用类似于JavaScript的查询语言来进行数据查询和操作,非常直观和易用。同时,MongoDB还支持丰富的查询操作和索引功能,能够更好地满足开发者对数据的需求。
总的来说,MongoDB是一个非常适合现代应用程序的数据库解决方案,能够满足开发者对高性能、高可用性和易扩展性的需求。它的面向文档的存储方式、高性能、高可用性和灵活的数据模型使得它成为了越来越多开发者的首选数据库。同时,MongoDB还有一个庞大的社区和丰富的生态系统,能够为开发者提供更好的支持和工具。因此,MongoDB已经成为了当今最受欢迎的NoSQL数据库之一。