亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: MongoDB管理與開發(fā)精要《紅丸出品》4.1 啟動數(shù)據(jù)庫 [打印本頁]

作者: cd紅丸    時間: 2012-06-13 21:34
標(biāo)題: MongoDB管理與開發(fā)精要《紅丸出品》4.1 啟動數(shù)據(jù)庫

MongoDB ShellMongoDB自帶的交互式Javascript shell,用來對MongoDB進(jìn)行操作和管理的交互式環(huán)境。
使用 "./mongo --help" 可查看相關(guān)連接參數(shù),下面將從常見的操作,如插入,查詢,修改,刪除等幾個方面闡述MongoDB shell的用法。
4.1 啟動數(shù)據(jù)庫
MongoDB安裝、配置完后,必須先啟動它,然后才能使用它。怎么啟動它呢?下面分別展示了3種方式來啟動實例。
4.1.1 命令行方式啟動
MongoDB默認(rèn)存儲數(shù)據(jù)目錄為/data/db/ (或者 c:\data\db), 默認(rèn)端口27017,默認(rèn)HTTP 端口28017。當(dāng)然你也可以修改成不同目錄,只需要指定dbpath參數(shù): /Apps/mongo/bin/mongod --dbpath=/data/db
[root@localhost ~]# /Apps/mongo/bin/mongod --dbpath=/data/db
Sun Apr  8 22:41:06 [initandlisten] MongoDB starting : pid=13701 port=27017 dbpath=/data/db 32-bit
……
Sun Apr  8 22:41:06 [initandlisten] waiting for connections on port 27017
Sun Apr  8 22:41:06 [websvr] web admin interface listening on port 28017

4.1.2 配置文件方式啟動
如果是一個專業(yè)的DBA,那么實例啟動時會加很多的參數(shù)以便使系統(tǒng)運行的非常穩(wěn)定,這樣就可能會在啟動時在mongod后面加一長串的參數(shù),看起來非;靵y而且不好管理和維護(hù),那么有什么辦法讓這些參數(shù)有條理呢?MongoDB也支持同mysql一樣的讀取啟動配置文件的方式來啟動數(shù)據(jù)庫,配置文件的內(nèi)容如下:
[root@localhost bin]# cat /etc/mongodb.cnf
dbpath=/data/db/

啟動時加上”-f”參數(shù),并指向配置文件即可
[root@localhost bin]# ./mongod -f /etc/mongodb.cnf
Mon May 28 18:27:18 [initandlisten] MongoDB starting : pid=18481 port=27017 dbpath=/data/db/ 32-bit
……
Mon May 28 18:27:18 [initandlisten] waiting for connections on port 27017
Mon May 28 18:27:18 [websvr] web admin interface listening on port 28017

4.1.3 Daemon方式啟動
大家可以注意到上面的兩種方式都慢在前臺啟動MongoDB進(jìn)程,但當(dāng)啟動MongoDB進(jìn)程的session窗口不小心關(guān)閉時,MongoDB進(jìn)程也將隨之停止,這無疑是非常不安全的,幸好MongoDB提供了一種后臺Daemon方式啟動的選擇,只需加上一個”--fork”參數(shù)即可,這就使我們可以更方便的操作數(shù)據(jù)庫的啟動,但如果用到了”--fork”參數(shù)就必須也啟用” --logpath”參數(shù),這是強(qiáng)制的
[root@localhost ~]# /Apps/mongo/bin/mongod --dbpath=/data/db --fork
--fork has to be used with --logpath
[root@localhost ~]# /Apps/mongo/bin/mongod --dbpath=/data/db --logpath=/data/log/r3.log --fork
all output going to: /data/log/r3.log
forked process: 19528
[root@localhost ~]#

4.1.4 mongod參數(shù)說明
最簡單的,通過執(zhí)行mongod即可以啟動MongoDB數(shù)據(jù)庫服務(wù),mongod支持很多的參數(shù),但都有默認(rèn)值,其中最重要的是需要指定數(shù)據(jù)文件路徑,或者確保默認(rèn)的/data/db存在并且有訪問權(quán)限,否則啟動后會自動關(guān)閉服務(wù)。Ok,那也就是說,只要確保dbpath就可以啟動MongoDB服務(wù)了
mongod的主要參數(shù)有:
l  dbpath:
數(shù)據(jù)文件存放路徑,每個數(shù)據(jù)庫會在其中創(chuàng)建一個子目錄,用于防止同一個實例多次運行的mongod.lock也保存在此目錄中。
l  logpath
錯誤日志文件
l  logappend
錯誤日志采用追加模式(默認(rèn)是覆寫模式)
l  bind_ip
對外服務(wù)的綁定ip,一般設(shè)置為空,及綁定在本機(jī)所有可用ip上,如有需要可以單獨指定
l  port
對外服務(wù)端口。Web管理端口在這個port的基礎(chǔ)上+1000
l  fork
以后臺Daemon形式運行服務(wù)
l  journal
開啟日志功能,通過保存操作日志來降低單機(jī)故障的恢復(fù)時間,在1.8版本后正式加入,取代在1.7.5版本中的dur參數(shù)。
l  syncdelay
系統(tǒng)同步刷新磁盤的時間,單位為秒,默認(rèn)是60秒。
l  directoryperdb
每個db存放在單獨的目錄中,建議設(shè)置該參數(shù)。與MySQL的獨立表空間類似
l  maxConns
最大連接數(shù)
l  repairpath
執(zhí)行repair時的臨時目錄。在如果沒有開啟journal,異常down機(jī)后重啟,必須執(zhí)行repair操作。
在源代碼中,mongod的參數(shù)分為一般參數(shù),windows參數(shù),replication參數(shù),replica set參數(shù),以及隱含參數(shù)。上面列舉的都是一般參數(shù)。如果要配置replicationreplica set等,還需要設(shè)置對應(yīng)的參數(shù),這里先不展開,后續(xù)會有專門的章節(jié)來講述。執(zhí)行mongod --help可以看到對大多數(shù)參數(shù)的解釋,但有一些隱含參數(shù),則只能通過看代碼來獲得(db.cpp po:ptions_description hidden_options(Hidden options),隱含參數(shù)一般要么是還在開發(fā)中,要么是準(zhǔn)備廢棄,因此在生產(chǎn)環(huán)境中不建議使用。
可能你已經(jīng)注意到,mongod的參數(shù)中,沒有設(shè)置內(nèi)存大小相關(guān)的參數(shù),是的,MongoDB使用os mmap機(jī)制來緩存數(shù)據(jù)文件數(shù)據(jù),自身目前不提供緩存機(jī)制。這樣好處是代碼簡單,mmap在數(shù)據(jù)量不超過內(nèi)存時效率很高。但是數(shù)據(jù)量超過系統(tǒng)可用內(nèi)存后,則寫入的性能可能不太穩(wěn)定,容易出現(xiàn)大起大落,不過在最新的1.8版本中,這個情況相對以前的版本已經(jīng)有了一定程度的改善。
這么多參數(shù),全面寫在命令行中則容易雜亂而不好管理。因此,mongod支持將參數(shù)寫入到一個配置文本文件中,然后通過config參數(shù)來引用此配置文件:
./mongod --config /etc/mongo.cnf
-------------------------------------------------------------------
《MongoDB管理與開發(fā)精要》、《Redis實戰(zhàn)》作者
ChinaUnix.net專家 http://cdhongwan.blog.chinaunix.net
@CD紅丸           http://weibo.com/u/2446082491






歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2