大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全家桶1年46,售后保障稳定
MongoDB启动失败原因
今天某个项目突然登录不了,查看服务器发现是后端出现异常,停掉后端重新启动的时候失败,显示是数据库连接失败,然后接着查看数据库,发现数据库连接失败,原因是数据库挂掉了。
数据库用的是MongoDB,我也只是听过还没有使用过,简单的在网上查询了一下MongoDB的启动命令就直接开始启动了,结果发现启动失败。
尝试了好一些方法后才终于成功启动:
- 尝试提升MongoDB所在文件夹的权限,提升MongoDB数据存放的文件夹的权限。
- 查看是否还有MongoDB的进程存在,占用了端口
- 查询清楚MongoDB的数据存放位置,网上搜到的启动命令一般是这个:
./mongod --dbpath /data/db
,如果实际的数据不是存放在这里,就算启动成功也是找不到原来的数据的。 - 使用修复命令自动修复MongoDB:
sudo /usr/local/mongodb/bin/mongod --repair
MongoDB的启动:
如果是使用./mongod --dbpath /data/db
启动的话,启动成功后命令窗口的就会卡住(如图一,图二),这个情况其实是已经成功启动的了,但是如果我们退出这个窗口或者把这个窗口重新进入到可以输入命令的模式,就会直接停掉这个MongoDB的线程。
如果在启动命令后面加了fork,则会以守护进程模式启动MongoDB,就算关掉窗口也不会停止MongoDB,
命令:./mongod --dbpath /data/db --fork
,这个命令启动的话会省略其他信息,直接显示启动的信息。
MongoDB完整的启动命令:
sudo ./mongod --dbpath=/home/mongodb/data --logpath=/home/mongodb/logs --logappend --bind_ip=0.0.0.0 --port=27017 --fork
指定数据存放的位置:
--dbpath=/home/mongodb/data
指定log文件存放位置:
--logpath=/home/mongodb/logs
日志以天为单位自动切割:
--logappend
绑定可以访问MongoDB的IP地址,如果没有这个则不允许其他电脑访问,如果是0.0.0.0则所有电脑都可以访问:
--bind_ip=0.0.0.0
绑定启动端口:
--port=27017
以守护进程启动:
--fork
图一:
图二:
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/226931.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...