亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

MongoDB 安裝配置及用戶權限

發布時間:2020-08-08 09:39:01 來源:ITPUB博客 閱讀:199 作者:steven_hua 欄目:關系型數據庫

參考: http://www.runoob.com/mongodb/mongodb-linux-install.html

介紹:
  a MongoDB是由C++語言編寫的一個基于分布式文件存儲的開源數據庫系統,它的目的在于為WEB應用提供可擴展的高性能數據存儲解決方案。

  b MongoDB是一個介于關系型數據庫和非關系型數據庫之間的產品,是非關系型數據庫當中功能最豐富,最像關系型數據庫的。它支持的數據結構非常松散,會將數據存儲為一個文檔,數據結構由鍵值對(key=>value)組成,是類似于json的bson格式,字段值可以包含其它文檔、數組和文檔數組,因此可以存儲比較復雜的數據類型。

  c MongoDB最大的特點就是它支持的查詢語言非常強大,其語法有點類似于面向對象的查詢語言,幾乎可以實現類似關系型數據庫單表查詢的絕大部分功能,而且還支持對數據建立索引。

  d MongoDB的主要特點(來自于網上,主要為了我們初步了解)

    d.1 MongoDB提供了一個面向文檔存儲,操作起來比較簡單和容易的非關系型數據庫。

    d.2 你可以在MongoDB記錄中設置任何屬性的索引來實現更快的排序。

    d.3 你可以通過本地u或者網絡創建數據鏡像,這使得MongoDB含有更強的擴展性。

    d.4 如果負載的增加(需要更多的存儲空間和更強的處理能力),它可以分布在計算機網絡中的其它節點上,這就是所謂的分片。

    d.5 MongoDB支持豐富的查詢表達式,查詢指令使用JSON形式的標記,可輕易查詢文檔中內嵌的對象和數組。        d.6 MongoDB使用update()命令可以實現替換完成的文檔(數據)或者一些指定的數據字段。        d.7 MongoDB中的Map/Reduce主要是用來對數據進行批量處理和聚合操作,Map函數調用emit(key,value)遍歷集合中所有的記錄,將key于value傳遞給Reduce函數進行處理。另外Map函數和Reduce函數是使用JavaScript編寫的,所以可以通過db.runCommand和mapreduce命令來執行MapReduce操作。        d.8 GridFS是MongoDB中的一個內置功能,可以用于存放大量小文件。

    d.9 MongoDB允許在服務端執行腳本,可以用JavaScript編寫某個函數,直接在服務端執行,也可以吧函數的定義存儲在服務端,下次直接調用即可。

    d.10  MongoDB支持各種編程語言:RUBY、PYTHON、JAVA、C++、PHP、C#等多種語言并且MongoDB的安裝也非常簡單
    f MongoDB官網:http://www.mongodb.org/

  g MongoDB學習網站:http://www.runoob.com/mongodb

一、MongoDB的安裝
下載社區版
https://www.mongodb.com/download-center#community

tar -zxvf mongodb-linux-x86_64-3.2.8.tgz
建立兩個目錄:
/u01/mongnodb/
/u01/mongodb/data/db
/u01/mongodb/logs

修改別名
vim /etc/hosts
127.0.0.1   bogon

啟動
./bin/mongod --dbpath /u01/mongodb/data/db
輸入命令lsof -i :27017,監測端口已經在使用中,所以說啟動已經完成。


二、MongoDB配置

MongoDB的啟動參數,可以在命令行指定,也可以通過配置文件
./mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/log/mongod.log --fork --auth
或者
./mongo --config=/u01/mongnodb/mongno.conf



cat /u01/mongnodb/mongno.conf
#Data file Path
#dbpath=/u01/mongodb/mongodb-linux-x86_64-rhel70-3.4.9/bin/mongod --dbpat
dbpath = /u01/mongodb/data/db

#Log file path
logpath = /u01/mongodb/mongodb-linux-x86_64-rhel70-3.4.9/logs/mongodb.log
logAppend=true

#綁定IP
#bind_ip=127.0.0.1

#port
port = 27017

# 以守護進程方式啟動
fork = true

#日志輸出方式,使用追加的方式寫日志
logappend = true

#PID File
pidfilepath=/u01/mongodb/mongodb-linux-x86_64-rhel70-3.4.9/mongodb.pid

#關閉http接口,默認關閉27018端口訪問
#nohttpinterface = true

#聲明這是一個集群分片
#shardsvr = true

#設置每個數據庫將被保存在一個單獨的目錄
#directoryperdb=true

#開啟認證
#auth = true

#設置開啟簡單的rest API ,置后打開28017網頁端口
#rest = true

##分片配置
sharding:
##指定config server
 configDB: 10.96.29.2:29017,10.96.29.2:29018,10.96.29.2:29019

三、MongoDB用戶授權和管理

1、mongodb安裝好后第一次進入是不需要密碼的,也沒有任何用戶,通過shell命令可直接進入,cd到mongodb目錄下的bin文件夾,執行命令./mongo即可

# ./bin/mongo
1)顯示數據庫
> show dbs
admin  0.000GB
local  0.000GB

2)使用/創建admin的庫。權限管理就要使用admin數據庫
> use admin      
switched to db admin
 
3)我第一次登陸時只有一個system.version表,system.users都沒有,沒關系可以建一個用戶就有了。
   system.user表,這張表是用來存放超級管理員的
> show collections
system.users
system.version

4)查詢system.user表中含有數據否
> db.system.users.find()
{ "_id" : "admin.admin", "user" : "admin", "db" : "admin", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "Fyaf2IGrGbC+kDyTZpe/tg==", "storedKey" : "Um7slisABOWPosz8h0XsxV18b68=", "serverKey" : "AwpUC8YlyvpGnncuxUaYzHKEkuw=" } }, "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ] }
{ "_id" : "svideo.vdb", "user" : "vdb", "db" : "svideo", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "C8xTDX0YZqOxybT/2lkvgw==", "storedKey" : "9Vty4qpDso2F5793zIOoscobefk=", "serverKey" : "q8d+EwCuQcCLeTTGIAHC3djnKmw=" } }, "roles" : [ { "role" : "dbOwner", "db" : "svideo" } ] }



2、添加管理用戶(mongoDB 沒有無敵用戶root,只有能管理用戶的用戶 userAdminAnyDatabase),


db.createUser({
    user:'admin',
    pwd:'123456',
    roles:[
    {role:'userAdminAnyDatabase',db:'admin'},
    {role:'dbAdminAnyDatabase',db:'admin'},
    {role:'clusterMonitor',db:'admin'}
    ]
})

use mydb
db.createUser({
    user:'vdb',
    pwd:'123456',
   roles:[{role:'dbOwner',db:'svideo'}]
})

角色:
userAdminAnyDatabase
dbOwner
readWrite

3、添加完管理用戶后,關閉MongoDB,并使用權限方式再次開啟MongoDB,這里注意不要使用kill直接去殺掉mongodb進程,(如果這樣做了,請去data/db目錄下刪除mongo.lock文件),可以使用db.shutdownServer()關閉

> db.shutdownServer()
2017-09-15T21:23:01.223+0800 I NETWORK  [thread1] trying reconnect to 127.0.0.1:27017 (127.0.0.1) failed
2017-09-15T21:23:01.223+0800 W NETWORK  [thread1] Failed to connect to 127.0.0.1:27017, in(checking socket for error after poll), reason: Connection refused
2017-09-15T21:23:01.223+0800 I NETWORK  [thread1] reconnect 127.0.0.1:27017 (127.0.0.1) failed failed
server should be down...


4、添加好用戶后,就可以使用權限方式啟動MongoDB
./mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/log/mongod.log --fork --auth
或者
./mongo --config=/u01/mongnodb/mongno.conf
在mongno.conf指定參數  auth = true


5、進入mongo shell,使用admin數據庫并進行驗證,如果不驗證,是做不了任何操作的。

> use admin
> db.auth("admin","123456")   #認證,返回1表示成功

6、驗證之后還是做不了操作,因為admin只有用戶管理權限,下面創建用戶,用戶都跟著庫走,
> use mydb
> db.createUser({user: "app",pwd: "123456",roles: [{ role: "readWrite", db: "mydb" }]})


7、使用創建的用戶root登錄進行數據庫操作:
mongo 127.0.0.1/mydb -uapp -p
mongo 127.0.0.1/mydb -uvdb -p
或者使用:
./mongo -u username -p password --port port --authenticationDatabase databaseName
./mongo databaseName -u username -p password --port port
然后就可以進行增刪改查各種數據操作…

Mongodb的關閉:

前臺運行:(不以守護進程方式啟動)

如果沒有使用--fork,直接可以前臺退出終端關閉。通過這種方式,Mongodb將會自己做清理退出,把沒有寫好的數據寫完成,并最終關閉數據文件。要注意的是這個過程會持續到所有操作都完成。

后臺運行:(以守護進程方式啟動 fork = true)

如果使用--fork在后臺運行mongdb服務,那么就要通過向服務器發送shutdownServer()消息來關閉。

1、普通命令:

$ ./mongod
> use admin
> db.shutdownServer()

Mongodb啟動幫助
mongod --help





如果啟動時指定端口號了,不是默認的27017, 連接時也必須指定端口
mongo 127.0.0.1:27019

參考:
http://www.runoob.com/mongodb/mongodb-linux-install.html

MongoDB Authentication slow my TPS?
http://www.mongoing.com/archives/4623



向AI問一下細節

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

AI

株洲市| 天峻县| 肥城市| 芜湖县| 汤阴县| 鹤岗市| 大兴区| 定远县| 双桥区| 卓资县| 犍为县| 宽城| 龙岩市| 射洪县| 贵港市| 武胜县| 蕉岭县| 镇平县| 平湖市| 鞍山市| 东光县| 马尔康县| 双流县| 广德县| 博客| 遵化市| 普定县| 周宁县| 沧源| 建宁县| 定兴县| 随州市| 武清区| 乳山市| 博野县| 中方县| 井研县| 永宁县| 尚义县| 渑池县| 延津县|