Mongodb的開(kāi)啟
默認(rèn)啟動(dòng):
$ ./mongodb
默認(rèn)數(shù)據(jù)保存路徑:/data/db/
默認(rèn)端口:27017
修改默認(rèn)路徑:
--dbpath
$ ./mongdb --dbpath /mongodb/
把數(shù)據(jù)存儲(chǔ)位置指向一個(gè)自己的目錄/mongodb/
修改默認(rèn)端口:
--port
$ ./mongdb --port 20111
把服務(wù)端口修改為20111,這個(gè)一方面是為了安全,使用默認(rèn)端口容易被一些惡意的人發(fā)現(xiàn)做手腳
啟動(dòng)后臺(tái)服務(wù):
--fork
在后臺(tái)開(kāi)啟Mongdb服務(wù)
在使用這個(gè)方式啟動(dòng)的時(shí)候要注意兩點(diǎn):
1、該功能只在1.1之后的版本才可以使用。
2、另外通過(guò)這個(gè)方式在后臺(tái)啟動(dòng),如果在啟動(dòng)的時(shí)候像--dbpath 那樣使用 --logpath 輸出日志時(shí)候日志輸出目錄也要自己創(chuàng)建。
如:
$ ./mongod --fork --logpath /var/log/mongodb.log --logappend
解析最后--logappend,以追加的方式創(chuàng)建日志防止把之前的日志刪除了
Mongodb的關(guān)閉:
前臺(tái)運(yùn)行:
如果沒(méi)有使用--fork,直接可以前臺(tái)退出終端關(guān)閉。通過(guò)這種方式,Mongodb將會(huì)自己做清理退出,把沒(méi)有寫(xiě)好的數(shù)據(jù)寫(xiě)完成,并最終關(guān)閉數(shù)據(jù)文件。要注意的是這個(gè)過(guò)程會(huì)持續(xù)到所有操作都完成。
后臺(tái)運(yùn)行:
如果使用--fork在后臺(tái)運(yùn)行mongdb服務(wù),那么就要通過(guò)向服務(wù)器發(fā)送shutdownServer()消息來(lái)關(guān)閉。
1、普通命令:
$ ./mongod
> use admin
> db.shutdownServer()
要注意的是,這個(gè)命令只允許在本地,或是一個(gè)經(jīng)過(guò)認(rèn)證的客戶(hù)端。
2、如果這是一個(gè)主從式的復(fù)制集群,在1.9.1版本后將按下面的步驟來(lái)關(guān)閉
- 檢查從Mongodb的數(shù)據(jù)更新時(shí)間
- 如果所有的從Mongodb和主的時(shí)間差都超過(guò)10,這個(gè)時(shí)候不會(huì)關(guān)閉mongodb(在這種情況下面,我們可以通過(guò)配置timeoutSecs的方式來(lái)讓從Mongodb完成數(shù)據(jù)的更新)
- 如果其中有一個(gè)從Mongodb與主服務(wù)時(shí)間差在10秒內(nèi),那么主服務(wù)器將會(huì)關(guān)閉,并且等待從Mongodb更新完成并關(guān)閉。
3、如果沒(méi)有up-to-date 從Mongodb且你想強(qiáng)制關(guān)閉服務(wù),可以通過(guò)添加force:true;命令如下:
> db.adminCommand({shutdown : 1, force : true})
> //or
> db.shutdownServer({force : true})
4、指定特定超時(shí)時(shí)間的關(guān)閉服務(wù)器,命令同上,另外加上一個(gè)timeoutsec:參數(shù)
> db.adminCommand(shutdown : 1, force : true, timeoutsec : 5)
> //or
> db.shutdownServer({force : true, timeoutsec : 5})
Mongodb開(kāi)機(jī)啟動(dòng)
在/etc/rc.local文件末尾添加下面的代碼
#add mongodb service
rm -rf /data/mongodb_data/* && /usr/local/mongodb/bin/mongod --dbpath=/data/mongdb_data/ --logpath=/data/mongdb_log/mongodb.log --logappend &