环境: CentOS 7 数据库版本:MongoDB 3.4.9(建议安装这个版本,原因后解释)
一、下载安装MongoDB 1.首先去MongoDB官网下载MongoDB3.4.9,下载地址 将下载的文件放到/usr/local目录下。 2.默认下载路径是到用户目录下的Downloads目录,将其解压
tar -zxvf mongodb-linux-x86_64-3.4.9.tgz3.将解压后的文件夹移动到/usr/local/的mongodb目录下
mv -r mongodb-linux-x86_64-3.4.9 /usr/local/mongodb4.创建用于存放数据和日志文件的文件夹,并修改其权限增加读写权限
cd /usr/local/mongodb sudo mkdir db sudo chmod -r 777 db sudo mkdir logs cd logs touch mongodb.log配置 5.进入到bin目录下,执行编辑vi mongodb.conf文件,内容如下:
dbpath=/usr/local/mongodb/db logpath=/usr/local/mongodb/logs/mongodb.log port=27017 fork=true nohttpinterface=true测试 6. 启动mongod数据库服务,以配置文件的方式启动
cd /usr/local/mongodb/bin ./mongod -f mongodb.conf7.连接mongodb数据库
./mongo8.配置系统文件profile
sudo vi /etc/profile插入下列内容:
export MONGODB_HOME=/usr/local/mongodb export PATH=$PATH:$MONGODB_HOME/bin9.注意保存后要重启系统配置:
source /etc/profile10.设置mongodb.service权限
chmod 754 mongodb.service11.系统mongodb.service的操作命令如下:
#启动服务 systemctl start mongodb.service #关闭服务 systemctl stop mongodb.service #开机启动 systemctl enable mongodb.service恭喜,那么部署就完成了!如果遇到问题请继续看
二、安装过程中遇到的问题 1..mongod: error while loading shared libraries: libnetsnmpmibs.so.30: cannot open shared object file: No such file or directory 这个报错信息是说找不到对应的库文件,原因是一开始我下错了安装包版本,所以在下载是一定要注意自己系统的版本
2.通过配置文件启动服务:mongod -f /etc/mongodb.conf 时报错 Error parsing INI config file: unrecognised option ‘nohttpinterface’ try './ 这个一开始让我查了好久,后面查到是因为我下载的最新版本的mongodb,而最新的版本貌似不支持以这种配置文件的方式来启动服务,所以无奈我又重新下载安装了3.2.12的版本,然后再次启动服务就正常了。 3.启动服务时报错: about to fork child process, waiting until server is ready for connections. forked process: 11335 ERROR: child process failed, exited with error number 1 这个错误原因是dbpath文件的权限问题,data和logs目录增加写权限即可(改为777) 4. mongodb启动异常:about to fork child process, waiting until server is ready for connection 用kill -9 杀进程mongodb后,重新启动,产生错误: about to fork child process, waiting until server is ready for connection 错误如图:
解决方法: 1、sudo kill -9 4018 杀掉子进程 2、进入mongodb安装目录,删除data目录下的mongod.lock文件 3、 bin目录下:./mongod --repair 4再次重启 :
sudo /usr/local/mongodb/bin/mongod --config /usr/local/mongodb/etc/mongodb.conf