linux mongodb安装启动与停止

        MongoDB是一个基于分布式文件存储的数据库。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
        MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引
       MongoDB强大的类sql查询语言,感受到MongoDB与其它Nosql数据库的异同之处。

由于自己的博客上线部署时需要用到mongodb来存储图片文件,所以先在本地电脑上安装了mongodb做测试,由于之前没接触过mongodb,所以安装过程中遇到了各种小问题,折腾了好久终于安装好并成功启动服务了。这里决定写一篇博客来记录一下安装过程以及遇到的问题的解决方案。

  先写一下安装并启动mongodb正确的步骤,然后再总结其中遇到的问题。

一、安装过程

1.到mongodb官网下载对应系统的压缩包,我的系统是centos6.6,64位(192.168.125.128)。(注意不要选错系统版本,也可以在本地下载好后上传到云服务器)

下载:

wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel55-3.2.12.tgz

[wj@bogon ~]$ cat /etc/issue
CentOS release 6.6 (Final)
Kernel \r on an \m
 

2.默认下载路径是到用户目录下的Downloads目录,将其解压

tar -zxvf mongodb-linux-x86_64-3.2.12.tgz

3.将解压后的文件夹移动到/usr/local目录下

[wj@bogon ~]$ sudo mv -ft /usr/local mongodb-linux-x86_64-2.4.2

[wj@bogon local]$ sudo mv mongodb-linux-x86_64-2.4.2 mongodb

4.配置系统文件profile

sudo vi /etc/profile

插入下列内容:

export MONGODB_HOME=/usr/local/mongodb  
export PATH=$PATH:$MONGODB_HOME/bin

注意保存后要重启系统配置:

source /etc/profile

5.创建用于存放数据和日志文件的文件夹,并修改其权限增加读写权限

复制代码

cd /usr/local/mongodb
sudo mkdir -p data/db
sudo chmod -R 777 data/db
sudo mkdir logs
cd logs
sudo touch mongodb.log

复制代码

6.mongodb启动配置

进入到bin目录,增加一个配置文件:

cd /usr/local/mongodb/bin  
sudo vi mongodb.conf

插入下列内容:

dbpath = /usr/local/mongodb/data/db #数据文件存放目录  
logpath = /usr/local/mongodb/logs/mongodb.log #日志文件存放目录  
port = 28017  #默认端口27017  
fork = true  #以守护程序的方式启用,即在后台运行  
nohttpinterface = true 

7. 启动mongod数据库服务,以配置文件的方式启动

cd /usr/local/mongodb/bin
./mongod -f mongodb.conf

[wj@bogon bin]$ sudo ./mongod -f mongodb.conf --logappend
about to fork child process, waiting until server is ready for connections.
forked process: 6385
all output going to: /usr/local/mongodb/logs/mongodb.log
child process started successfully, parent exiting

8.连接mongodb数据库

./mongo

第一次装的版本是2.4.2

[wj@bogon bin]$ sudo ./mongo
MongoDB shell version: 2.4.2
connecting to: test
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
        http://docs.mongodb.org/
Questions? Try the support group
        http://groups.google.com/group/mongodb-user
>

在浏览器中诊断访问http://192.168.125.128:27017

You are trying to access MongoDB on the native driver port. For http diagnostic access, add 1000 to the port number

用robomongo客户端连接

9.mongodb提供了关闭数据库的命令:

直接kill -9 pid(进程id号)

首先需要进入到mongodb目录下bin/mongo,连接到mongodb,然后执行下面脚本:

use admin
db.runCommand("shutdown")

上面第一行切换到admin数据库,第二行则是执行关闭操作

也可以使用db.shutdownServer()命令

在bin目录下./mongod --shutdown或./mongod -f ../etc/mongo.conf --shutdown

[wj@bogon bin]$ sudo ./mongod --shutdown -f mongodb.conf
killing process with pid: 6651

配置开机启动及系统服务https://blog.csdn.net/luozhonghua2014/article/details/77860268

10.设置mongodb.service启动服务,设置开机启动

cd /lib/systemd/system  
sudo vi mongodb.service 

编辑其内容为:

复制代码

[Unit]  
Description=mongodb  
After=network.target remote-fs.target nss-lookup.target  
  
[Service]  
Type=forking  
ExecStart=/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/bin/mongodb.conf  
ExecReload=/bin/kill -s HUP $MAINPID  
ExecStop=/usr/local/mongodb/bin/mongod --shutdown --config /usr/local/mongodb/bin/mongodb.conf  
PrivateTmp=true  
  
[Install]  
WantedBy=multi-user.target

复制代码

11.设置mongodb.service权限

chmod 754 mongodb.service

12.系统mongodb.service的操作命令如下:

复制代码

#启动服务  
systemctl start mongodb.service  
#关闭服务  
systemctl stop mongodb.service  
#开机启动  
systemctl enable mongodb.service 

复制代码

13.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目录增加写权限即可,上面提到了。

4.启动时报错:

[wj@bogon bin]$ ./mongod -f mongodb.conf

about to fork child process, waiting until server is ready for connections.
forked process: 6377
all output going to: /usr/local/mongodb/logs/mongodb.log
log file [/usr/local/mongodb/logs/mongodb.log] exists and couldn't make backup [/usr/local/mongodb/logs/mongodb.log.2018-04-26T22-27-28]; run with --logappend or manually remove file: errno:13 Permission denied
Bad logpath value: "/usr/local/mongodb/logs/mongodb.log"; terminating.
ERROR: child process failed, exited with error number 1

猜你喜欢

转载自blog.csdn.net/qq_34412985/article/details/84188493
今日推荐