MongoDB从2.x升级到3.x后启动失败

今天把MongoDB从2.6升级到了3.2,升级后使用命令直接启动可以,但是使用systemctl启动服务总是失败。

提示:Failed to start SYSV …

折腾了好一会,原来是mongodb2.6的用户是mongodb,而mongodb3.2的用户是mongod,导致没有权限访问原来的文件,从而启动失败。

而直接用命令行启动,因为是root账户登录的,可以访问其他账户的文件,而不存在权限问题。

解决方法:
修改目录所有权

chown -R mongod:mongod /var/log/mongodb
chown -R mongod:mongod /var/lib/mongo

除了journalctl -xe 查看日志,还要注意查看/var/log/mongodb/下面的日志,好发现问题。

【注意】升级注意做好数据升级操作,参考网络上其他文章

升级后,进入mongo shell,如果有警告

** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always.'
**        We suggest setting it to 'never'

参考https://docs.mongodb.com/manual/tutorial/transparent-huge-pages/

发布者

ryantech

仍然是一个程序员