从官网下载MongoDB的压缩包。http://www.mongodb.org/downloads
将mongodb-linux-x86_64-2.6.8.tgz解压
[neil@neilhost Downloads]$ tar zxvf mongodb-linux-x86_64-2.6.8.tgz
mongodb-linux-x86_64-2.6.8/README
mongodb-linux-x86_64-2.6.8/THIRD-PARTY-NOTICES
mongodb-linux-x86_64-2.6.8/GNU-AGPL-3.0
mongodb-linux-x86_64-2.6.8/bin/mongodump
mongodb-linux-x86_64-2.6.8/bin/mongorestore
mongodb-linux-x86_64-2.6.8/bin/mongoexport
mongodb-linux-x86_64-2.6.8/bin/mongoimport
mongodb-linux-x86_64-2.6.8/bin/mongostat
mongodb-linux-x86_64-2.6.8/bin/mongotop
mongodb-linux-x86_64-2.6.8/bin/mongooplog
mongodb-linux-x86_64-2.6.8/bin/mongofiles
mongodb-linux-x86_64-2.6.8/bin/bsondump
mongodb-linux-x86_64-2.6.8/bin/mongoperf
mongodb-linux-x86_64-2.6.8/bin/mongod
mongodb-linux-x86_64-2.6.8/bin/mongos
mongodb-linux-x86_64-2.6.8/bin/mongo
MongoDB无需安装即可应用,所以我们自己将其部署到/usr/local/下
首先在usr/local/目录下新建一个mongodb文件夹(注意要su权限)
[neil@neilhost /]$ cd /
[neil@neilhost /]$ cd usr/local/
[neil@neilhost local]$ ls
bin etc games include lib lib64 libexec sbin share src
[neil@neilhost local]$ sudo mkdir mongodb
[sudo] password for neil:
[neil@neilhost local]$ ls
bin etc games include lib lib64 libexec mongodb sbin share src
之后,将之前解压好的Monggodb文件夹移动到/usr/local/mongodb下:
[neil@neilhost local]$ cd ~/Downloads/
[neil@neilhost local]$ sudo mv mongodb-linux-x86_64-2.6.8/* /usr/local/mongodb/
(或者
也可以在mongodb-linux-x86_64-2.6.8文件夹里使用如下命令:
rsync -a bin /usr/local/mongodb
)
然后为mongodb创建数据库存放的位置(默认是在/data/db下面),这里在mongodb下面建立了相应的目录data/
[neil@neilhost mongodb]$ sudo mkdir data
为mongodb创建一个日志文件dblogs
[neil@neilhost mongodb]$ sudo touch dblogs
[neil@neilhost mongodb]$ ls
bin data dblogs GNU-AGPL-3.0 README THIRD-PARTY-NOTICES
至此,MongoDB就算安装好了。
——————————————————————————————
bin可以看到MongDB用到的13个二进制文件
[neil@neilhost mongodb]$ tree bin
bin
├── bsondump
├── mongo
├── mongod
├── mongodump
├── mongoexport
├── mongofiles
├── mongoimport
├── mongooplog
├── mongoperf
├── mongorestore
├── mongos
├── mongostat
└── mongotop
0 directories, 13 files
早先的版本MongoDB的bin只有12个二进制文件,并且部分二进制文件与现在的也不同。
————————————————————————————————————————————
如果你需要在每次服务器开机时都需要自动启动MongoDB,那么需要设置一些环境变量
将mongodb启动项目加入rc.local保证mongodb在服务器开机时启动:
echo "/usr/local/mongodb/bin/mongodb" --dbpath=/usr/local/mongodb/data">> /etc/rc/local
不过,我还是喜欢自己启动。或者自己写在一个脚本里,以后要启动哪些东西自己配置。
手动启动方式如下:
[neil@neilhost mongodb]$ cd bin
[neil@neilhost bin]$ ls
bsondump mongodump mongoimport mongorestore mongotop
mongo mongoexport mongooplog mongos
mongod mongofiles mongoperf mongostat
[neil@neilhost bin]$ sudo ./mongod --dbpath=/usr/local/mongodb/data/ --logpath=/usr/local/mongodb/dblogs --fork
[sudo] password for neil:
about to fork child process, waiting until server is ready for connections.
forked process: 6593
这里--dbpath指定的是数据库文件存储的路径,--logpath指定的是日志文件路径是什么,之前的dblogs也可以自己命名为其他名字,在这里指定即可。
--fork参数指的是在后台执行,当然也可以用&符号。
系统返回的forked process:6593指的是系统给Mongodb分配的进程号PID是6593(每次都不一样哦)
那么现在MongoDB有没有被成功启动呢?
通过命令:
[neil@neilhost bin]$ pstree -p| grep mongod
|-mongod(6593)-+-{mongod}(6594)
| |-{mongod}(6595)
| |-{mongod}(6596)
| |-{mongod}(6608)
| |-{mongod}(6609)
| |-{mongod}(6610)
| |-{mongod}(6611)
| |-{mongod}(6612)
| `-{mongod}(6613)
主进程6593下有9个子进程。
上面手动启动的语句可以放到/etc/rc.local文件里,让系统开机后自动执行。(/etc/rc.local是linux开机后最后执行的脚本)
——————————————————————————————————
如何关闭mongodb服务呢?
[neil@neilhost bin]$ sudo pkill mongod
[sudo] password for neil:
[neil@neilhost bin]$ pstree -p| grep mongod
[neil@neilhost bin]$
这样,用pkill命令就把mongdb关闭了。这里也可以用killall mongod
注意:但是绝对不能用kill -9来关闭mongodb,否则就会发现下次无法成功启动mongod了!!!切记!!!
_____________________________________________
这里再增加一种方法:
写一个shell脚本文件mongodbstart.sh,文件内容如下:
sudo /usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data/ --logpath=/usr/local/mongodb/dblogs --fork
然后执行该shell脚本:
[neil@neilhost Downloads]$ sh mongodbstart.sh
about to fork child process, waiting until server is ready for connections.
forked process: 7042
child process started successfully, parent exiting
[neil@neilhost Downloads]$ pstree -p| grep mongod
|-mongod(7042)-+-{mongod}(7043)
| |-{mongod}(7044)
| |-{mongod}(7045)
| |-{mongod}(7046)
| |-{mongod}(7047)
| |-{mongod}(7048)
| |-{mongod}(7049)
| |-{mongod}(7050)
| `-{mongod}(7051)
以后如果有其他需要一起启动的东西,可以都加入脚本文件中,一起启动。并且不会在开机时候启动。