21.26 mongodb介紹
21.27 mongodb安裝mongodb
vim mongodb-org-3.4.repo 內容以下:
yum install -y mongodb-orgshell
21.28 鏈接mongodb
systemctl start mongod //啓動服務
在本機能夠直接運行命令mongo進入到mongodb shell中
若是mongodb監聽端口並非默認的27017,則在鏈接的時候須要加--port 選項,例如
mongo --port 27018
鏈接遠程mongodb,須要加--host,例如
mongo --host 127.0.0.1
若是設置了驗證,則在鏈接的時候須要帶用戶名和密碼
mongo -uusername -ppasswd --authenticationDatabase db //這個和MySQL挺像數據庫
21.29 mongodb用戶管理vim
use admin//須要切換到admin庫
db.createUser( { user: "admin", customData: {description: "superuser"}, pwd: "admin122", roles: [ { role: "root", db: "admin" } ] } )
user指定用戶,customData爲說明字段,能夠省略,pwd爲密碼,roles指定用戶的角色,db指定庫名
use admin //切換到admin庫
db.system.users.find() //列出全部用戶,須要切換到admin庫
show users //查看當前庫下全部的用戶
db.dropUser('admin') //刪除用戶
若要用戶生效,還須要編輯啓動腳本vim /usr/lib/systemd/system/mongod.service,在OPTIONS=後面增--auth
重啓服務systemctl restart mongod
mongo -u "admin" -p "admin122" --authenticationDatabase "admin"服務器
use db1
db.createUser( { user: "test1", pwd: "123aaa", roles: [ { role: "readWrite", db: "db1" }, {role: "read", db: "db2" } ] } )
test1用戶對db1庫讀寫,對db2庫只讀。
之因此先use db1,表示用戶在 db1 庫中建立,就必定要db1庫驗證身份,即用戶的信息跟隨隨數據庫。好比上述 test1雖然有 db2 庫的讀取權限,可是必定要先在db1庫進行身份驗證,直接訪問會提示驗證失敗。
use db2
db.auth("test1", "123aaa")ide
用戶角色:
Read:容許用戶讀取指定數據庫
readWrite:容許用戶讀寫指定數據庫
dbAdmin:容許用戶在指定數據庫中執行管理函數,如索引建立、刪除,查看統計或訪問system.profile
userAdmin:容許用戶向system.users集合寫入,能夠找指定數據庫裏建立、刪除和管理用戶
clusterAdmin:只在admin數據庫中可用,賦予用戶全部分片和複製集相關函數的管理權限。
readAnyDatabase:只在admin數據庫中可用,賦予用戶全部數據庫的讀權限
readWriteAnyDatabase:只在admin數據庫中可用,賦予用戶全部數據庫的讀寫權限
userAdminAnyDatabase:只在admin數據庫中可用,賦予用戶全部數據庫的userAdmin權限
dbAdminAnyDatabase:只在admin數據庫中可用,賦予用戶全部數據庫的dbAdmin權限。
root:只在admin數據庫中可用。超級帳號,超級權限函數
db.version() //查看版本
use userdb //若是庫存在就切換,不存在就建立
show dbs //查看庫,此時userdb並無出現,這是由於該庫是空的,尚未任何集合,只須要建立一個集合就能看到了
db.createCollection('clo1') //建立集合clo1,在當前庫下面建立
db.dropDatabase() //刪除當前庫,要想刪除某個庫,必須切換到那個庫下
db.stats() //查看當前庫的信息
db.serverStatus() //查看mongodb服務器的狀態url