MongoDB Linux下的安装和启动

MongoDB Linux下的安装和启动
http://www.linuxidc.com/Linux/2011-05/36309.htm

1. 下载MongoDB,此处下载的版本是:mongodb-linux-i686-1.8.1.tgz.tar。

http://fastdl.mongodb.org/linux/mongodb-linux-i686-1.8.1.tgz



相关阅读:

MongoDB Linux下的安装和启动  http://www.linuxidc.com/Linux/2011-05/36309.htm

MongoDB下的高级查询示例  http://www.linuxidc.com/Linux/2011-05/36312.htm

MongoDB Java API for 插入和单collection基本查询使用示例 http://www.linuxidc.com/Linux/2011-05/36313.htm

MongoDB下的查询操作(与Java API查询操作对应) http://www.linuxidc.com/Linux/2011-05/36314.htm

2. 解压文件到某目录下,然后重命名:

    [root@localhost src]# tar -xzvf mongodb-linux-i686-1.8.1.tgz.tar   
    [root@localhost src]# mv mongodb-linux-i686-1.8.1 /usr/local/mongodb/ 



3. 查看安装后的文件情况:

    [root@localhost src]# cd /usr/local/mongodb/  
    [root@localhost mongodb]# ls  
    bin  GNU-AGPL-3.0  README  THIRD-PARTY-NOTICES  
    [root@localhost mongodb]# cd bin/  
    [root@localhost bin]# ls  
    bsondump  dbbak  mongo  mongod  mongodump  mongoexport  mongofiles  mongoimport  mongorestore  mongos  mongosniff  mongostat 



   bin下的mongod就是MongoDB的服务端进程,mongo就是其客户端,其它的命令用于MongoDB的其它用途如MongoDB文件导出等。

4. 启动MongoDB.

    要先建立好MongoDB 存放数据文件和日志文件的目录,此处建立在/data下:

    [root@localhost etc]# cd /data/  
    [root@localhost data]# ls  
    mongodb_data  mongodb_log 



   在MongoDB安装目录下的bin下使用mongod启动MongoDB,

    ./mongod --dbpath=/data/mongodb_data/ --logpath=/data/mongodb_log/mongodb.log --logappend& 



  等待启动成功后,可查看是否启动成功了,默认端口号是27017,当然在启动时也可以指定未使用的其它端口。

  先通过查看端口号看MongoDB是否启动了。

    [root@localhost data]# netstat -lanp | grep "27017" 
    tcp        0      0 0.0.0.0:27017               0.0.0.0:*                   LISTEN      1573/mongod           
    unix  2      [ ACC ]     STREAM     LISTENING     5874   1573/mongod         /tmp/mongodb-27017.sock 



  可以看到,已启动成功,现在使用mongo客户端访问一下该数据库。

    [root@localhost bin]# cd /usr/local/mongodb/bin/  
    [root@localhost bin]# ./mongo  
    MongoDB shell version: 1.8.1 
    connecting to: test  
    >  



  到这一步说明已经安装成功了。

5. 额外工作。

    注意,上述我们启动MongoDB都是手动使用mongod来启动,这样关闭计算机后,下次再进来它又没启动了,所以还得手动启动,因此,为避免这种繁琐的工作,可以把mongod放到服务自启动项中,这样计算机一开启mongod服务也就启动了。

    编辑/etc/rc.local,加入下述代码然后再保存即可。


    #add mongonDB service  
    rm -rf /data/mongodb_data/* && /usr/local/mongodb/bin/mongod --dbpath=/data/mongodb_data/ --logpath=/data/mongodb_log/mongodb.log --logappend& 



   我们重启计算机再看MongoDB是否启动,重启后可以直接使用 mongo命令登录,最终发现是可以成功的。

   另外,我们使用mongo命令登录 MongoDB还要转到mongo命令所在目录再执行./mongo,这样是不是有些麻烦?因此,我们可以简化这点,将该命令文件copy到/usr/bin下,这样就可以在任何目录下使用mongo命令了。

    [root@localhost bin]# ls  
    bsondump  dbbak  mongo  mongod  mongodump  mongoexport  mongofiles  mongoimport  mongorestore  mongos  mongosniff  mongostat  
    [root@localhost bin]# cp mongo /usr/bin/ 



     转到任一目录试下mongo命令:

    [root@localhost bin]# cd /  
    [root@localhost /]# mongo  
    MongoDB shell version: 1.8.1 
    connecting to: test  
    >  
来源:http://www.cnblogs.com/fzsh/archive/2011/12/02/2271799.html
MongoDB的启动和停止脚本
启动方式:
Mongodb脚本:把命令行的内容保存到一个文件中,把该文件放在/usr/bin(或任何系统设置的PATH路径中)下,就可以直接用该文件来启动或停止服务了。

本人比较倾向把启动mongodb的参数放在配置文件中,直观且便于管理,例如把参数写入/etc目录下的mongodb.cnf文件中,参数设置如下:

#configuration Options for MongoDB
#
# For More Information, Consider:
# - Configuration Parameters: http://www.mongodb.org/display/DOCS/Command+Line+Parameters
# - File Based Configuration: http://www.mongodb.org/display/DOCS/File+Based+Configuration
dbpath = /data/db/
logpath = /data/log/m.log
logappend = true

#bind_ip = 127.0.0.1
port = 27017
fork = true
#auth = true
noauth = true
directoryperdb = true
journal = true

可以使用命令:

/usr/local/mongodb/bin/mongod --config /etc/mongodb.cnf

来启动mongodb,所以启动脚本就可以这么写

#!/bin/sh

/usr/local/mongodb/bin/mongod --config /etc/mongodb.cnf

假设该文件命名为mongodb-start,存放于/usr/bin下,现在就可以直接用mongodb-start来启动服务了,注意,该文件要有执行的权限。

停止mongodb服务脚步如下:

#!/bin/bash

pid=`ps -o pid,command ax | grep mongod | awk '!/awk/ && !/grep/ {print $1}'`;
if [ "${pid}" != "" ]; then
    kill -2 ${pid};
fi

其实就是通过ps、grep、awk命令找到mongod的进程号,在通过kill来关闭mongod服务,当然查询进程号的命令还有很多,任取一种即可,例如:

ps -C mongod -f | grep mongod |tr -s ' ' | cut -d ' ' -f 2

ps aux | grep mongod | grep -v "grep" | awk -F" "  '{print $2}'

欢迎转载,转载请注明文章出处,谢谢!


linux下MongoDB开机自启动的问题


按照常理,把如下命令

/usr/local/mongodb/bin/mongod --dbpath=/data/db/ --fork --logpath=/data/log/m.log --directoryperdb

放在/etc/rc.local文件中就可以实现开机自启动了,第一次重启机器发现mongodb顺利启动了,再次重启机器后,通过ps没有查看到相应mongod进程,也就是启动失败了。原因是由于重启机器,导致非正常停止mongod服务,mongod.lock中还记录了上次运行的进程号,为了数据的安全需要执行 /usr/local/mongodb/bin/mongod –repair,当然如果直接把mongod.lock文件删除也可以重新启动了,例如:

/usr/local/mongodb/bin/mongod --repair
/usr/local/mongodb/bin/mongod --dbpath=/data/db/ --fork --logpath=/data/log/m.log --directoryperdb


rm -rf /data/db/mongod.lock
/usr/local/mongodb/bin/mongod --dbpath=/data/db/ --fork --logpath=/data/log/m.log --directoryperdb

注意上述启动Mongodb都是没有增加journal参数,如果带了此参数就不会那么麻烦了,例如

/usr/local/mongodb/bin/mongod --dbpath=/data/db/ --fork --logpath=/data/log/m.log --directoryperdb --journal

就可以了,就算是非正常重启机器,mongodb也会根据日志去修复数据库的。

另外,如果mongodb的数据目录是通过mount的NFS文件夹,自启动好像有问题的。

来源:http://www.netingcn.com/linux-mongodb-auto-startup.html


1.  启动和停止MongoDB:

    执行mongod命令启动MongoDB服务器。mongod有很多可配置的选项,我们通过mongod --help可以查看所有选项,这里仅介绍一些主要选项:
    --dbpath:
    缺省情况下数据库的数据目录为/data/db。对于Windows平台,如果当前的可执行文件位于D盘,那么其缺省数据目录为D:\data\db。我们可以通过这个选项为服务程序重新指定数据目录。如果当前主机运行多个mongod,那么必须为每个服务程序指定不同的数据目录,因为当mongod启动成功之后,会在数据目录下创建一个mongod.lock的文件,该文件用于防止其它mongod进程数据该数据目录。如:
    mongod --dbpath=D:/data2/db
   
    --port
    缺省情况下的默认端口号是27017。同样当有多个mongod服务程序在同一台主机同时运行时,则需要为它们分别指定不同的监听端口。如:
    mongod --port=29017
   
    --fork
    以守护进程的方式运行MongoDB。
   
    --logpath
    指定日志输出路径,而不是输出到命令行。如果对文件夹有写权限的话,系统会在文件不存在时创建它。它会将已有文件覆盖掉,清除所有原来的日志记录。如果想保留原来的日志,还需要使用--logappend选项。如:
    /> mongod --logpath=D:\logdata\mylog.log
    all output going to: D:\logdata\mylog.log
    需要说明的是,对于上例,logdata目录必须被提前手工创建,否则mongod将执行启动失败。
   
    --config
    指定配置文件,用于加载命令行未指定的各种选项。如:
    mongod --config=D:\mydb.conf
    配置文件的示例内容如下:
    port = 29017
    fork = true   #这里的井号表示注释部分,对于fork这种命令行选项,需要用true来表示打开了。
    logpath = D:\mylog\db.log

    通常情况下,我们都是希望将mongodb server优雅的关闭。如果服务程序运行于前台,那么直接CTRL+C即可。如果是后台,那么可以通过SIGINT和SIGTERM信号来通知服务程序准备退出,服务器在收到信号后,会先妥善的安排退出前的数据和状态保存工作,如:正常的关闭当前的连接、将缓存中的数据刷新到磁盘等。在完成所有这些工作之后,服务器正常停止。如:
    /> pkill mongod
    /> pkill -2 mongod
    切记不要直接执行下面的命令:
    /> pkill -9 mongod
    该信号将会导致mongodb server强制性立即退出。
    除了上述方法之外,我们还可以通过mongo客户端工具通知服务器正常退出,如:
    > use admin
    switched to db admin
    > db.shutdownServer()

2、服务器状态监控:

    C:\Mine\ThirdParty\mongodb\bin>mongostat
    connected to: 127.0.0.1
    insert  query update delete getmore command flushes mapped  vsize    ... ...
     0      0      0      0       0       1       0     0m   100m    ... ...
     0      0      0      0       0       1       0     0m   100m    ... ...
     0      0      0      0       0       1       0     0m   100m    ... ...
     0      0      0      0       0       1       0     0m   100m    ... ...
     0      0      0      0       0       1       0     0m   100m    ... ...
     0      0      0      0       0       1       0     0m   100m    ... ...
     0      0      0      0       0       1       0     0m   100m    ... ...
     0      0      0      0       0       1       0     0m   100m    ... ...

猜你喜欢

转载自shikonglaike.iteye.com/blog/1947685
今日推荐