Mongodb入門系列(2)——在linux下安裝、啓動、關閉MongoDB以及注意事項(詳細)

從官網下載MongoDB的壓縮包。http://www.mongodb.org/downloads linux

將mongodb-linux-x86_64-2.6.8.tgz解壓mongodb

[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/下shell

首先在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/

(或者oop

也能夠在mongodb-linux-x86_64-2.6.8文件夾裏使用以下命令:spa

rsync -a bin /usr/local/mongodb

).net

而後爲mongodb建立數據庫存放的位置(默認是在/data/db下面),這裏在mongodb下面創建了相應的目錄data/rest

[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)

之後若是有其餘須要一塊兒啓動的東西,能夠都加入腳本文件中,一塊兒啓動。而且不會在開機時候啓動。

相關文章
相關標籤/搜索