恭祝大家元旦快樂!
簡述:MongoDB是一個基於分佈式文件存儲的數據庫。由C++語言編寫。旨在爲WEB應用提供可擴展的高性能數據存儲解決方案。
環境:CentOS 5.5 x64
安裝:
- cd /root/tools
- wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.0.0.tgz
- tar zxvf mongodb-linux-x86_64-2.0.0.tgz
- mv mongodb-linux-x86_64-2.0.0 /elain/apps/mongodb-linux-x86_64-2.0.0
- ln -s /elain/apps/mongodb-linux-x86_64-2.0.0 /elain/apps/mongodb
- ln -s /elain/apps/mongodb/bin/* /bin/
#添加用戶組
- /usr/sbin/groupadd -g 690 mongodb
- /usr/sbin/useradd -g mongodb mongodb -u 690 -s /sbin/nologin
#創建存儲目錄
- mkdir -p /elain/data/mongodb/db/
- chown -R mongodb.mongodb /elain/data/mongodb/db/
#啓動運行
- nohup mongod --dbpath /elain/data/mongodb/db &
#開機自啓動
- echo "mongod --dbpath /elain/data/db" >>/etc/rc.local
#以服務方式啓動mongodb,要求驗證
- /elain/apps/mongodb/bin/mongod --fork --port 27001 --auth --dbpath /elain/data/mongodb/db/ --logpath /elain/logs/mongodb/mongodb.log
#注:參數中用到的目錄需創建
#停止
- kill -2 `ps -ef|grep mongod|grep -v grep|awk '{print $2}'`
#驗證啓動
- [root@md01 ~]# netstat -ln
- Active Internet connections (only servers)
- Proto Recv-Q Send-Q Local Address Foreign Address State
- tcp 0 0 0.0.0.0:28001 0.0.0.0:* LISTEN
- tcp 0 0 0.0.0.0:27001 0.0.0.0:* LISTEN
還可以通過訪問:http://ip:28001/ 瀏覽
#登錄:
- mongo --host serverip:27001
- [root@md01 ~]# mongo --host localhost:27001
- MongoDB shell version: 2.0.0
- connecting to: localhost:27001/test
- >
#測試
- [root@md02 mongodb]# mongo
- MongoDB shell version: 1.8.3
- connecting to: test
- Thu Sep 8 22:16:13 [initandlisten] connection accepted from 127.0.0.1:43643 #2
- > db.foo.save( { a : 1 } )
- > db.foo.find()
- { "_id" : ObjectId("4e68ce01f4be44b5812e7f9a"), "a" : 1 }
附錄一:
mongodb的bin下各工具的用途:
mongod:數據庫服務端,類似mysqld,每個實例啓動一個進程,可以fork爲Daemon運行
mongo:客戶端命令行工具,類似sqlplus/mysql,其實也是一個js解釋器,支持js語法
mongodump/mongorestore:將數據導入爲bson格式的文件/將bson文件恢復爲數據庫,類似xtracbackup
mongoexport/mongoimport:將collection導出爲json/csv格式數據/將數據導入數據庫,類似mysqldump/mysqlimport
bsondump:將bson格式的文件轉儲爲json格式的數據
mongos:分片路由,如果使用了sharding功能,則應用程序連接的是mongos而不是mongod
mongofiles:GridFS管理工具
mongostat:實時監控工具
附錄二:
mongod的主要參數有:
dbpath: 數據文件存放路徑,每個數據庫會在其中創建一個子目錄。
logpath:錯誤日誌文件
logappend: 錯誤日誌採用追加模式(默認是覆寫模式)
bind_ip: 對外服務的綁定ip,一般設置爲空,及綁定在本機所有可用ip上,如有需要可以單獨指定
port: 對外服務端口。Web管理端口在這個port的基礎上+1000
fork: 以後臺Daemon形式運行服務
journal:開啓日誌功能,通過保存操作日誌來降低單機故障的恢復時間,在1.8版本後正式加入,取代在1.7.5版本中的dur參數。
syncdelay: 執行sync的間隔,單位爲秒。
directoryperdb: 每個db存放在單獨的目錄中,建議設置該參數。
maxConns: 最大連接數
repairpath: 執行repair時的臨時目錄。在如果沒有開啓journal,異常宕機後重啓,必須執行repair操作。
轉載請註明: 轉載自http://www.elain.org
本文鏈接地址:MongoDB實戰系列之一:MongoDB安裝部署