91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mongodb 集群基礎知識

發布時間:2020-08-05 16:43:00 來源:網絡 閱讀:735 作者:鄧美男1989 欄目:數據庫

http://blog.csdn.net/luonanqin/article/details/8497860  Mongodb集群搭建的三種方式


NoSQL = Not Only SQL  mongodb存儲方式是文檔式存儲,并不是Key-Value形式。


Mongodb的三種集群方式的搭建:Replica Set / Sharding / Master-Slaver


Replica Set 副本集集群原理:(最簡單的集群方式)

主節點,備節點,仲裁節點。主備節點存儲數據,仲裁節點不存儲數據。

客戶端同時連接主節點與備節點,不連接仲裁節點。


默認設置下,主節點提供所有增刪查改服務,備節點不提供任何服務。但是可以通過設置使備節點提供查詢服務,這樣就可以減少主節點的壓力,當客戶端進行數據查詢時,請求自動轉到備節點上。這個設置叫做Read Preference Modes,同時Java客戶端提供了簡單的配置方式,可以不必直接對數據庫進行操作。


仲裁節點是一種特殊的節點,它本身并不存儲數據,主要的作用是決定哪一個備節點在主節點掛掉之后提升為主節點,所以客戶端不需要連接此節點。這里雖然只有一個備節點,但是仍然需要一個仲裁節點來提升備節點級別。


測試:一個是往主節點插入數據,能從備節點查到之前插入的數據(查詢備節點可能會遇到某個問題,可以自己去網上查查看)。二是停掉主節點,備節點能變成主節點提供服務。三是恢復主節點,備節點也能恢復其備的角色,而不是繼續充當主的角色。二和三都可以通過rs.status()命令實時查看集群的變化。



Sharding 分片集群:

和Replica Set類似,都需要一個仲裁節點,但是Sharding還需要配置節點和路由節點。就三種集群搭建方式來說,這種是最復雜的。


Master-Slaver 主備方式

官方已經不推薦這種方式,搭建方式也相對簡單。


用過的人應該知道mongodb吃內存的問題,解決辦法只能通過ulimit來控制內存使用量,但是如果控制不好的話,mongodb會掛掉。



mongodb的安裝

執行腳本 install_mongodb_20160510.sh  即可安裝mongodb服務。詳細請看redme


mongodb集群的安裝


常用命令

mongodb的啟動

/opt/server/mongodb/bin/mongod -f /opt/server/mongodb/mongodb.conf

/opt/server/mongodb/bin/mongod -f /opt/server/mongodb/mongodb.conf --fork  #單機環境/與配置文件有關系,具體請參看配置文件


mongodb的停止

kill -15 pid

pkill mongod


mongodb登錄方式

/opt/server/mongodb/bin/mongo 192.168.1.200:27017


查看狀態

rs.status()


刪除節點:

rs.remove("mongodb13.kk.net:27019")  #可以刪除節點


添加節點:

rs.addArb("mongodb13.kk.net:27019")  #可以添加節點,但這樣添加的節點為仲裁


mongodb副本集如何添加一個節點使其成為備節點呢?

在主節點上操作

use admin

cfg={ _id:"wlb", members:[ {_id:0,host:'192.168.11.215:27017',priority:2}, {_id:1,host:'192.168.11.187:27017',priority:1},{_id:2,host:'192.168.11.25:27017',arbiterOnly:true}] };

rs.reconfig(cfg);  #使配置生效

rs.status()



查看所有數據庫

show dbs


MongoDB 創建數據庫

use znx 

db

show dbs   #會發現創建的數據庫不在列表中,要想顯示需要插入數據


備節點若想查看數據庫,需要執行如下命令,否則報13435錯誤

rs.slaveOk(true)



插入數據

db.znx.insert({"name":"dengyong"})

show dbs     #會顯示出znx數據庫,備節點也會顯示


查看全部數據表

show collections 


查看全部表記錄

db.znx.find()


刪除pushlog這張表

> db.Pushlog.drop()  #具體操作,輸入db.Pushlog.d后按table鍵,看有啥命令

true


備節點查看數據,先執行如下命令,否則會報錯

rs.slaveOk(true)


MongoDB 刪除數據庫

use znx

db.dropDatabase()   #執行刪除命令

show dbs            #znx數據庫已刪除



參考鏈接:http://blog.csdn.net/chen88358323/article/details/50206651

mongodb創建用戶

use admin

db.createUser({user:"wjs",pwd:"wjs",roles:[{role:"userAdminAnyDatabase",db:"admin"}]})   #創建用戶


show users                #查看用戶  需要先use數據庫


內置角色:

    1. 數據庫用戶角色:read、readWrite;

    2. 數據庫管理角色:dbAdmin、dbOwner、userAdmin;

    3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;

    4. 備份恢復角色:backup、restore;

    5. 所有數據庫角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase

    6. 超級用戶角色:root  

    // 這里還有幾個角色間接或直接提供了系統超級用戶的訪問(dbOwner 、userAdmin、userAdminAnyDatabase)

    7. 內部角色:__system

    

具體角色:

Read:允許用戶讀取指定數據庫

readWrite:允許用戶讀寫指定數據庫

dbAdmin:允許用戶在指定數據庫中執行管理函數,如索引創建、刪除,查看統計或訪問system.profile

userAdmin:允許用戶向system.users集合寫入,可以找指定數據庫里創建、刪除和管理用戶

clusterAdmin:只在admin數據庫中可用,賦予用戶所有分片和復制集相關函數的管理權限。

readAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的讀權限

readWriteAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的讀寫權限

userAdminAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的userAdmin權限

dbAdminAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的dbAdmin權限。

root:只在admin數據庫中可用。超級賬號,超級權限


db.system.users.find()    #查看用戶

show users 



創建一個數據庫znx

use znx

創建一個普通用戶wxc

db.createUser({user:"wxc",pwd:"wxc",roles:[{role:"readWrite",db:"znx"}]}) 


釋放掉MongoDB占用的內存

重啟服務來釋放內存,或 使用MongoDB內置的closeAllDatabases命令達到目的:

mongo> use admin 

mongo> db.runCommand({closeAllDatabases:1})


監控MongoDB的內存使用情況

db.serverStatus().mem


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

利川市| 长阳| 赤壁市| 虞城县| 辉县市| 商河县| 四川省| 兖州市| 个旧市| 铅山县| 侯马市| 甘德县| 阿城市| 措美县| 嘉兴市| 都兰县| 泗阳县| 南澳县| 社会| 梅河口市| 邵东县| 页游| 康平县| 龙南县| 库尔勒市| 乐亭县| 碌曲县| 锦屏县| 若尔盖县| 南郑县| 满洲里市| 宁夏| 堆龙德庆县| 兴文县| 永顺县| 西平县| 东辽县| 元谋县| 泰州市| 永胜县| 沂南县|