a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 數據庫 > MongoDB > 正文

MongoDB入門教程之常用的運維技術介紹

2020-10-29 18:53:13
字體:
來源:轉載
供稿:網友

這一篇我們以管理員的視角來看mongodb,作為一名管理員,我們經常接觸到的主要有4個方面:

1.  安裝部署

2.  狀態監控

3.  安全認證

4.  備份和恢復,

下面我們就一點一點的講解。

一:安裝部署

        我之前的文章都是采用console程序來承載,不過在生產環境中這并不是最佳實踐,誰也不愿意在機器重啟后滿地找牙似找mongodb,

在mongodb里面提供了一個叫做“服務寄宿”的模式,我想如果大家對wcf比較熟悉的話很容易聽懂。好了,我們實踐一下,這里我開一下D盤里面的mongodb。

 

這里要注意的有兩點:

   <1> logpath: 當我們使用服務寄宿的時候,用眼睛都能想明白肯定不會用console來承載日志信息了。

   <2> install:   開啟安裝服務寄宿,很happy啊,把管理員的手工操作降低到最小,感謝mongodb。

 好了,console程序叫我看log日志,那我就看看,發現mongodb已經提示我們如何開啟mongodb,接著我照做就是了。

 還要提醒大家一點的就是,這些命令參數很多很復雜也就很容易忘,不過沒關系,數據庫給我們提供了一個help方法,我們可以

拿mongod和mongo說事。

mongod:

 mongo:

 二:狀態監控

     監控可以讓我們實時的了解數據庫的健康狀況以及性能調優,在mongodb里面給我們提供了三種方式。

1:http監視器

     這個我在先前的文章中也提到了,這里就不贅述了。

2:serverStatus()

    這個函數可以獲取到mongodb的服務器統計信息,其中包括 :全局鎖,索引,用戶操作行為等等這些統計信息,對管理員來說非常

    重要,具體的參數含義可以參考這篇文章:http://www.5lwq4hdr.cn/article/53878.htm

    這里還是截個圖混個眼熟。

 3:mongostat

      前面那些統計信息再牛X,那也是靜態統計,不能讓我觀看實時數據變化,還好,mongodb里面提供了這里要說的mongodstat

監視器,這玩意會每秒刷新,在實際生產環境中大有用處,還是截張圖,很有意思,是不是感覺大軍壓境了。

 三: 安全認證

     作為數據庫軟件,我們肯定不想誰都可以訪問,為了確保數據的安全,mongodb也會像其他的數據庫軟件一樣可以采用用戶

驗證的方法,那么該怎么做呢?其實很簡單,mongodb提供了addUser方法,還有一個注意點就是如果在admin數據庫中添加

將會被視為“超級管理員”。

上面的admin用戶將會被視為超級管理員,“jack”用戶追加的第三個參數表示是否是“只讀用戶”,好了,該添加的我們都添加了,

我們第一次登錄時不是采用驗證模式,現在我們使用--reinstall重啟服務并以--auth驗證模式登錄。

好了,我們進入test集合翻翻數據看看情況,我們發現jack用戶始終都是沒有寫入的權限,不管是授權或者未授權。

 四:備份和恢復

      這玩意的重要性我想都不需要我來說了吧,這玩意要是搞不好會死人的,mongodb里面常用的手段有3種。

1: 直接copy

       這個算是最簡單的了,不過要注意一點,在服務器運行的情況下直接copy是很有風險的,可能copy出來時,數據已經遭到

        破壞,唯一能保證的就是要暫時關閉下服務器,copy完后重開。

2:mongodump和mongorestore

      這個是mongo給我們提供的內置工具,很好用,能保證在不關閉服務器的情況下copy數據。

為了操作方便,我們先刪除授權用戶。

 好了,我們轉入正題,這里我先在D盤建立一個backup文件夾用于存放test數據庫。

快看,數據已經備份過來了,太爽了,現在我們用mongorestore恢復過去,記住啊,它是不用關閉機器的。

提一點的就是 drop選項,這里是說我將test數據恢復之前先刪除原有數據庫里面的數據,同樣大家可以通過help查看。

 3:主從復制

      這個我在上上篇有所介紹,這里也不贅述了。

     其實上面的1,2兩點都不能保證獲取數據的實時性,因為我們在備份的時候可能還有數據灌在內存中不出來,那么我們

想說能不能把數據暴力的刷到硬盤上,當然是可以的,mongodb給我們提供了fsync+lock機制就能滿足我們提的需求。

fsync+lock首先會把緩沖區數據暴力刷入硬盤,然后給數據庫一個寫入鎖,其他實例的寫入操作全部被阻塞,直到fsync

+lock釋放鎖為止。

這里就不測試了。

 加鎖:    db.runCommand({"fsync":1,"lock":1})

 釋放鎖: db.$cmd.unlock.findOne()

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久久久久久国产精品影院 | 91久久夜色精品国产九色 | 欧美日韩不卡合集视频 | 色欧美片视频在线观看 | 婷婷午夜激情 | 九一免费国产 | 日韩精品一区二区三区四区视频 | 欧美女优在线视频 | 欧美男人天堂网 | 亚洲精品视频免费看 | 成视频年人免费看黄网站 | 青青草亚洲| 日韩城人免费 | 中文字幕一区二区三区不卡 | 午夜精品偷拍 | 久色视频在线观看 | 亚洲二区在线视频 | 午夜影院a | 欧美午夜视频在线观看 | 日韩中文字幕一区 | 欧美日本一区视频免费 | 91一区| 夜夜草视频 | h视频免费| 免费观看a视频 | 超碰97人人干 | 亚洲一区二区视频 | 亚洲a在线观看 | 天天舔天天干 | 成人影院在线 | 亚洲涩涩涩 | 玖玖精品在线 | 毛片入口| 一级h片 | 色噜噜视频 | 久久精品这里热有精品 | 日本伊人网站 | 国产精品久久久视频 | 亚洲成人一区二区三区 | 国产精品二区一区二区aⅴ污介绍 | 亚洲成a人v欧美综合天堂麻豆 |