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

來源:互聯網
上載者:User

標籤:

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

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

[[email protected] Downloads]$ tar zxvf mongodb-linux-x86_64-2.6.8.tgz mongodb-linux-x86_64-2.6.8/READMEmongodb-linux-x86_64-2.6.8/THIRD-PARTY-NOTICESmongodb-linux-x86_64-2.6.8/GNU-AGPL-3.0mongodb-linux-x86_64-2.6.8/bin/mongodumpmongodb-linux-x86_64-2.6.8/bin/mongorestoremongodb-linux-x86_64-2.6.8/bin/mongoexportmongodb-linux-x86_64-2.6.8/bin/mongoimportmongodb-linux-x86_64-2.6.8/bin/mongostatmongodb-linux-x86_64-2.6.8/bin/mongotopmongodb-linux-x86_64-2.6.8/bin/mongooplogmongodb-linux-x86_64-2.6.8/bin/mongofilesmongodb-linux-x86_64-2.6.8/bin/bsondumpmongodb-linux-x86_64-2.6.8/bin/mongoperfmongodb-linux-x86_64-2.6.8/bin/mongodmongodb-linux-x86_64-2.6.8/bin/mongosmongodb-linux-x86_64-2.6.8/bin/mongo

MongoDB無需安裝即可應用,所以我們自己將其部署到/usr/local/下

首先在usr/local/目錄下建立一個mongodb檔案夾(注意要su許可權)

[[email protected] /]$ cd /[[email protected] /]$ cd usr/local/[[email protected] local]$ lsbin  etc  games  include  lib  lib64  libexec  sbin  share  src
[[email protected] local]$ sudo mkdir mongodb[sudo] password for neil: [[email protected] local]$ lsbin  etc  games  include  lib  lib64  libexec  mongodb  sbin  share  src

之後,將之前解壓好的Monggodb檔案夾移動到/usr/local/mongodb下:

[[email protected] local]$ cd ~/Downloads/[[email protected] 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

[[email protected] mongodb]$ sudo touch dblogs
[[email protected] mongodb]$ lsbin  data  dblogs  GNU-AGPL-3.0  README  THIRD-PARTY-NOTICES

至此,MongoDB就算安裝好了。

——————————————————————————————

bin可以看到MongDB用到的13個二進位檔案

[[email protected] mongodb]$ tree binbin├── bsondump├── mongo├── mongod├── mongodump├── mongoexport├── mongofiles├── mongoimport├── mongooplog├── mongoperf├── mongorestore├── mongos├── mongostat└── mongotop0 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

不過,我還是喜歡自己啟動。或者自己寫在一個指令碼裡,以後要啟動哪些東西自己配置。

手動啟動方式如下:

[[email protected] mongodb]$ cd bin[[email protected] bin]$ lsbsondump  mongodump    mongoimport  mongorestore  mongotopmongo     mongoexport  mongooplog   mongosmongod    mongofiles   mongoperf    mongostat[[email protected] 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有沒有被成功啟動呢?

通過命令:

[[email protected] 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服務呢?

[[email protected] bin]$ sudo pkill mongod[sudo] password for neil: [[email protected] bin]$ pstree -p| grep mongod[[email protected] bin]$

這樣,用pkill命令就把mongdb關閉了。這裡也可以用kill --all

注意:但是絕對不能用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指令碼:

[[email protected] Downloads]$ sh mongodbstart.shabout to fork child process, waiting until server is ready for connections.forked process: 7042child process started successfully, parent exiting[[email protected] 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)

以後如果有其他需要一起啟動的東西,可以都加入指令檔中,一起啟動。並且不會在開機時候啟動。


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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.