亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MongoDB的基本安裝與管理命令腳本總結(jié)

 更新時(shí)間:2016年07月04日 16:41:46   作者:lucifercn  
MongoDB是一款高人氣的NoSQL數(shù)據(jù)庫(kù),且以JavaScript代碼作為腳本進(jìn)行操作,對(duì)開(kāi)發(fā)者非常友好,這里我們就來(lái)看一下MongoDB的基本安裝與管理命令腳本總結(jié)

安裝
1. Linux安裝MongoDB
1.1 創(chuàng)建數(shù)據(jù)目錄和日志文件:

mkdir -p /data/node/
touch /data/mongodb.log

1.2 安裝mongodb:

tar zxf mongodb-linux-x86_64-2.4.9.tgz 
mv mongodb-linux-x86_64-2.4.9 /opt/mongodb
echo "export PATH=$PATH:/opt/mongodb/bin" >>/etc/profile
source /etc/profile

1.3 創(chuàng)建新從節(jié)點(diǎn)配置文件:

cat >> ~/.mongodb.conf <<EOF
fork = ture
port = 11000
dbpath = /data/node
logpath = /data/mongodb.log
logappend = true
EOF

1.4 啟動(dòng)MongoDB

mongod --config ~/.mongodb.conf

2. Windows安裝MongoDB
2.1 下載并解壓

mongodb-win32-x86_64-2008plus-2.4.9.zip

2.2 添加服務(wù)

# mongod -f d:\mongodb\mongodb.cfg --serviceName MongoBD --install

2.3 啟動(dòng)服務(wù)

# net start mongodb 

2.4 刪除服務(wù)

# mongod --remove

2.5 MongoDB啟動(dòng)配置文件

mongodb.cfg -->
logpath=d:\data\mongo.log 
dbpath=d:\data
logappend=true
auth=true
#fork=true

管理
管理MongoDB無(wú)論是備份還是帶有復(fù)制的多節(jié)點(diǎn)系統(tǒng),都有快捷的方式。系統(tǒng)會(huì)自動(dòng)完成各種配置。
(1)MongoDB是一個(gè)普通命令行程序,用mongod調(diào)用。
(2)MongoDB提供了內(nèi)置的管理接口和監(jiān)控功能,易與第三方監(jiān)控包集成。
(3)MongoDB支持基本的,數(shù)據(jù)庫(kù)級(jí)別的用戶認(rèn)證,包括只讀用戶,以及獨(dú)立的管理員權(quán)限。
(4)多種方式備份MongoDB。

1.啟動(dòng)停止MongoDB
1.1 命令行啟動(dòng)
命令行啟動(dòng),可以mongod --help查看所有選項(xiàng)。
(1)--dbpath 默認(rèn)值為/data/db/。每個(gè)Mongod進(jìn)程都需要獨(dú)立的數(shù)據(jù)目錄,要有三個(gè)mongod實(shí)例,必須要有三個(gè)獨(dú)立的數(shù)據(jù)目錄。mongodb啟動(dòng)時(shí),會(huì)在數(shù)據(jù)目錄喜愛(ài)創(chuàng)建mongod.lock文件,防止其他mongod進(jìn)程使用該數(shù)據(jù)目錄。
(2)--port
指定監(jiān)聽(tīng)端口,默認(rèn)為27017,運(yùn)行多個(gè)mongod進(jìn)程,需要指定不同的端口號(hào)。
(3)--fork
以守護(hù)進(jìn)程運(yùn)行mongodb,創(chuàng)建服務(wù)器進(jìn)程。
(4)--logpath
指定日志輸出路徑,而不是輸出命令行,它會(huì)覆蓋已有文件,清除原來(lái)的日記記錄。如果要保留,需要使用--logappend選項(xiàng)。
(5)--config
指定配置文件,加載命令行未指定的各種選項(xiàng)。
1.2 配置文件
MongoBD支持從文件獲取配置信息。指定配置文件可以用-f或者--config選項(xiàng)。例如:

# mongod --config ~/.mongodb.conf
cat > ~/.mongodb.conf <<EOF
port = 10001
fork = true
logpath = /data/mongodb.log
dbpath = /data/node2
logappend = true
EOF

1.3 停止MongoDB
數(shù)據(jù)庫(kù)關(guān)閉方法:
(1)kill -2 SIGTERM或者kill -2 SIGINT,可以穩(wěn)妥退出,會(huì)等到當(dāng)前運(yùn)行的操作或者文件預(yù)分配,關(guān)閉所有打開(kāi)的連接,將緩存的數(shù)據(jù)刷新到磁盤,最后停止。
不能kill -9(SIGKILL),這樣會(huì)導(dǎo)致數(shù)據(jù)文件損毀。
(2)使用管理命令{"shutdown" : 1}

> use admin
> db.shutdownServer(); 

2.監(jiān)控
2.1 使用管理接口
啟動(dòng)MongoDB時(shí),會(huì)啟動(dòng)一個(gè)非?;镜腍TTP服務(wù)器,該服務(wù)器監(jiān)聽(tīng)的端口比主服務(wù)器大1000。呈現(xiàn)的信息可以通過(guò)shell查看,也可以通過(guò)web頁(yè)面查看。
要利用好管理接口,需要用--reset選項(xiàng)開(kāi)啟REST支持。也可以在啟動(dòng)時(shí)使用--nohttpinterface關(guān)閉管理接口。
2.2 serverStatus
serverStatus呈現(xiàn)了MongoDB內(nèi)部詳細(xì)信息,比如服務(wù)器的版本,運(yùn)行時(shí)間,當(dāng)前連接數(shù)。

MongoDB shell version: 2.4.9
connecting to: 127.0.0.1:10001/test
> db.runCommand({serverStatus : 1})

"globalLock"表示全局寫入鎖占用了服務(wù)器多少時(shí)間(微秒)。"mem"包含服務(wù)器內(nèi)存映射了多少數(shù)據(jù),服務(wù)器進(jìn)程的虛擬內(nèi)存和常駐內(nèi)存占用情況;
(1)"indexCounters"表示B樹(shù)在磁盤檢索和內(nèi)存檢索的次數(shù);
(2)"backgroudFlushing"表示后臺(tái)做了多少次fsync以及用了多少時(shí)間;
(3)"opcounters"包含了每種主要操作的次數(shù)。
2.3 mongostat
mongostat輸出serverStatus提供的重要信息。每秒鐘輸出新的一行,比之前看到的靜態(tài)計(jì)數(shù)實(shí)時(shí)性更好。分別為insert/s,commands/s,vsize和%locked。
2.4 第三方插件
支持Nagios,Munin,Ganglia,Cacti的MongbDB插件。

3.安全
MongoDB支持對(duì)單個(gè)連接的認(rèn)證。
3.1 認(rèn)證的基礎(chǔ)知識(shí)
每個(gè)MongoDB實(shí)例中的數(shù)據(jù)庫(kù)都可以有很多用戶。開(kāi)啟認(rèn)證后,只有數(shù)據(jù)庫(kù)認(rèn)證用戶才能執(zhí)行讀寫操作。
認(rèn)證后,管理員可以讀寫所有的數(shù)據(jù)庫(kù),執(zhí)行特定的管理命令。
開(kāi)啟安全認(rèn)證前,需要有管理員帳號(hào)。

> use admin
switched to db admin
> db.addUser("root", "root123");
{
  "user" : "root",
  "readOnly" : false,
  "pwd" : "81c5bca573e01b632d18a459c6cec418",
  "_id" : ObjectId("530bd17622cceb4323a2b500")
}
> use test
switched to db test
> db.addUser("test_user", "root123", true);
{
  "user" : "test_user",
  "readOnly" : true,
  "pwd" : "d436badec207e3821abbaf337fcbdd06",
  "_id" : ObjectId("530bd24322cceb4323a2b501")
}

在shell中創(chuàng)建只讀用戶將adduser的第三個(gè)參數(shù)設(shè)為true。調(diào)用addUser()必須對(duì)數(shù)據(jù)庫(kù)有寫權(quán)限。
addUser不僅可以增加新用戶,還能修改用戶口令或只讀狀態(tài)。
重啟服務(wù)器,加入--auth選項(xiàng),開(kāi)啟安全檢查。

> use admin
switched to db admin
> db.auth("root", "root123");
1

3.2 認(rèn)證的工作原理
數(shù)據(jù)庫(kù)用戶帳戶以文檔形式存儲(chǔ)在system.users集合里面。

> use admin
switched to db admin
> db.system.users.find();
{ "_id" : ObjectId("530bd17622cceb4323a2b500"), "user" : "root", "readOnly" : false, "pwd" : "81c5bca573e01b632d18a459c6cec418" }

可以執(zhí)行

db.system.users.remove({"user":"root"});

刪除帳號(hào)。
用戶認(rèn)證時(shí),服務(wù)器將認(rèn)證和連接綁定來(lái)跟蹤認(rèn)證。
3.3 其他安裝考慮
除了認(rèn)證還有許多選項(xiàng)來(lái)鎖定MongoDB實(shí)例。即便使用認(rèn)證,MongoDB傳輸協(xié)議是不加密的。如需加密,需要使用SHH隧道或類似做客戶端和服務(wù)器之間的加密。
MongoDB服務(wù)器建議布置在防火墻或內(nèi)網(wǎng)中,但是如果需要被外部訪問(wèn),使用--bindip選項(xiàng),可以指定mongod綁定在本機(jī)IP地址。
可以用--noscripting完全禁止服務(wù)器端JavaScript的執(zhí)行。

相關(guān)文章

  • MongoDB查詢操作限制返回字段的方法

    MongoDB查詢操作限制返回字段的方法

    這篇文章主要介紹了MongoDB查詢操作限制返回字段的方法,需要的朋友可以參考下
    2014-05-05
  • MongoDB 游標(biāo)詳解及實(shí)例代碼

    MongoDB 游標(biāo)詳解及實(shí)例代碼

    這篇文章主要介紹了 MongoDB 游標(biāo)詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • mongoDB使用投影剔除‘額外’字段的操作過(guò)程

    mongoDB使用投影剔除‘額外’字段的操作過(guò)程

    這篇文章主要給大家介紹了關(guān)于mongoDB使用投影剔除‘額外’字段的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • 最新評(píng)論