好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁(yè) > 知識(shí)庫(kù) > 記一次Mongodb中admin數(shù)據(jù)庫(kù)導(dǎo)致的事故

記一次Mongodb中admin數(shù)據(jù)庫(kù)導(dǎo)致的事故

熱門(mén)標(biāo)簽:杭州人工電銷(xiāo)機(jī)器人價(jià)格 廣州長(zhǎng)安公司怎樣申請(qǐng)400電話(huà) 怎么投訴地圖標(biāo)注 電銷(xiāo)機(jī)器人是什么軟件 濟(jì)南電銷(xiāo)機(jī)器人加盟公司 云南外呼系統(tǒng) 蘋(píng)果汽車(chē)租賃店地圖標(biāo)注 呼和浩特電銷(xiāo)外呼系統(tǒng)加盟 老虎洗衣店地圖標(biāo)注

前言

MongoDB副本集默認(rèn)會(huì)創(chuàng)建local、admin數(shù)據(jù)庫(kù),local數(shù)據(jù)庫(kù)主要存儲(chǔ)副本集的元數(shù)據(jù),admin數(shù)據(jù)庫(kù)則主要存儲(chǔ)MongoDB的用戶(hù)、角色等信息。

Mongodb的gridfs一次插入數(shù)據(jù)的時(shí)候會(huì)自動(dòng)創(chuàng)建幾個(gè)索引,我們程序里面的賬號(hào)沒(méi)有createIndex權(quán)限,我需要手動(dòng)創(chuàng)建一下。結(jié)果連接到mongo服務(wù)器之后忘記執(zhí)行use xxxdb來(lái)切換數(shù)據(jù)庫(kù)了,于是在admin數(shù)據(jù)庫(kù)里面創(chuàng)建了一個(gè)索引,結(jié)果導(dǎo)出一邊的程序報(bào)出來(lái)很多驗(yàn)證問(wèn)題。

Mongo的admin數(shù)據(jù)庫(kù)太脆弱了,只是創(chuàng)建一個(gè)索引就掛了。長(zhǎng)個(gè)教訓(xùn),以后千萬(wàn)不要手動(dòng)修改它,更不要用admin保存數(shù)據(jù)。

反思一下,這次操作失誤其實(shí)爆出我平時(shí)一些不好的習(xí)慣。

首先,連接mongo應(yīng)該指定目標(biāo)數(shù)據(jù)。而我之前都是連接到admin,然后用use切換到目標(biāo)數(shù)據(jù)庫(kù)。這樣難免會(huì)忘記。

$ # 錯(cuò)誤使用
$ mongo ourdomain.com/admin -u tom -p tompass
$ # 正確的使用
$ mongo ourdomain.com/mydb -u tom -p tompass --authenticationDatabase admin

第二,錯(cuò)誤的在admin數(shù)據(jù)庫(kù)執(zhí)行createIndex,返回的結(jié)果明確顯示索引創(chuàng)建成功。

{
  "createdCollectionAutomatically" : true,
  "numIndexesBefore" : 1,
  "numIndexesAfter" : 2,
  "ok" : 1,
  ...
}

但是我忽略了,繼續(xù)在正確的數(shù)據(jù)庫(kù)創(chuàng)建索引。不然可以早一些發(fā)現(xiàn)問(wèn)題。

最后,創(chuàng)建索引應(yīng)該自動(dòng)化,比如gridfs這種對(duì)md5, filename創(chuàng)建索引的。

慎用admin數(shù)據(jù)庫(kù)

當(dāng)Mongod啟用auth選項(xiàng)時(shí),用戶(hù)需要?jiǎng)?chuàng)建數(shù)據(jù)庫(kù)帳號(hào),訪(fǎng)問(wèn)時(shí)根據(jù)帳號(hào)信息來(lái)鑒權(quán),而數(shù)據(jù)庫(kù)帳號(hào)信息就存儲(chǔ)在admin數(shù)據(jù)庫(kù)下。

mongo-9551:PRIMARYgt; use admin
switched to db admin
mongo-9551:PRIMARYgt; db.getCollectionNames()
[ "system.users", "system.version" ]
  • system.version存儲(chǔ)authSchema的版本信息
  • system.users存儲(chǔ)了數(shù)據(jù)庫(kù)帳號(hào)信息
  • 如果用戶(hù)創(chuàng)建了自定義的角色,還會(huì)有system.roles集合

用戶(hù)可以在admin數(shù)據(jù)庫(kù)下建立任意集合,存儲(chǔ)任何數(shù)據(jù),但強(qiáng)烈建議不要使用admin數(shù)據(jù)庫(kù)存儲(chǔ)應(yīng)用業(yè)務(wù)數(shù)據(jù),最好創(chuàng)建新的數(shù)據(jù)庫(kù)。

admin數(shù)據(jù)庫(kù)里的system.users、system.roles2個(gè)集合的數(shù)據(jù),MongoDB會(huì)cache在內(nèi)存里,這樣不用每次鑒權(quán)都從磁盤(pán)加載用戶(hù)角色信息。目前cache的維護(hù)代碼,只有在保證system.users、system.roles的寫(xiě)入都串行化的情況下才能正確工作,詳情參考官方issue SERVER-16092

從代碼中我們可以看出,MongoDB將將admin數(shù)據(jù)庫(kù)上的意向?qū)戞i(MODE_IX)直接升級(jí)為寫(xiě)鎖(MODE_X),也就是說(shuō)admin數(shù)據(jù)庫(kù)的寫(xiě)入操作的鎖級(jí)別只能到DB級(jí)別,不支持多個(gè)collection并發(fā)寫(xiě)入,在寫(xiě)入時(shí)也不支持并發(fā)讀取。如果用戶(hù)在admin數(shù)據(jù)庫(kù)里存儲(chǔ)業(yè)務(wù)數(shù)據(jù),則可能遭遇性能問(wèn)題。

if (supportsDocLocking() || enableCollectionLocking) { 
if (supportsDocLocking() || enableCollectionLocking) {
+
+ // The check for the admin db is to ensure direct writes to auth collections
+ // are serialized (see SERVER-16092).
+ if (_id == resourceIdAdminDB  !isRead) {
+ _mode = MODE_X;
+ }
+
_lockState-gt;lock(_id, _mode); 

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

標(biāo)簽:廈門(mén) 雞西 興安盟 泰安 無(wú)錫 自貢 遼陽(yáng) 玉林

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《記一次Mongodb中admin數(shù)據(jù)庫(kù)導(dǎo)致的事故》,本文關(guān)鍵詞  記,一次,Mongodb,中,admin,數(shù)據(jù)庫(kù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《記一次Mongodb中admin數(shù)據(jù)庫(kù)導(dǎo)致的事故》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于記一次Mongodb中admin數(shù)據(jù)庫(kù)導(dǎo)致的事故的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 成人午夜精品无码区久久蜜臀| 日本电影一区二区三区| 女同穿带阳巨互慰小说| 中文一级片| 亚洲色欲va国产日韩欧美精品| 黄色一级片生活片| 色情床戏大尺度电影| 98在线无码精品秘?入口男同| 八戒八戒午夜私人理论片| 国内实拍人体裸模视频| 女人巨大荫蒂| 日韩欧美一| 翁熄系列乱(老扒)| 仪陇县| 捆绑白丝jk震动捧娇喘视频| 99精品国产在热久久无费暖暖| 台湾伦理《女医生》| 舔老师丝袜脚| 国内精品综合九九久久精品| 打??美女隐私秘?视频| 女朋友太骚了每次进去都觉得很疼 | 宝宝好久没c你了????黄| 91嫩草国产露脸精品国产软件优势| 六月丁香婷婷色狠狠久久| 全免费a级毛片免费看| 亚洲免费福利| 你弄得人家里都是水的| 曰批| 欧美肥妇肥老寡妇| 玩新疆少数民族观看| 毅喻實業的產品有什麼| 黑人的粗大填满了我的身体| avtt在线| 欧美AV无码国产精品无软件| 国产AV在线观看18???| 亚洲欧美一级久久精品| 三大高傲校花被调教成奴软件介绍 | 古代三?片在线播放免费| 99在线免费播放| 美女露出乳胸扒开尿口直播 | 12--14女处被毛片免费|