麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數(shù)據(jù)庫(kù) > MongoDB > 正文

mongodb權(quán)限設(shè)置之添加管理員、普通用戶的方法

2020-10-29 18:54:15
字體:
供稿:網(wǎng)友

我知道的關(guān)系型數(shù)據(jù)庫(kù)都是有權(quán)限控制的,什么用戶能訪問什么庫(kù),什么表,什么用戶可以插入,更新,而有的用戶只有讀取權(quán)限。

例如:mysql安裝配置好后,有一個(gè)自帶的mysql數(shù)據(jù)庫(kù),里面有一張user表,用來存放用戶,以及用戶權(quán)限,而mongodb這個(gè)最像關(guān)系型的數(shù)據(jù)庫(kù),有沒有這樣的表呢。

一、掌握權(quán)限,理解下面4條基本上就差不多

1、mongodb是沒有默認(rèn)管理員賬號(hào),所以要先添加管理員賬號(hào),在開啟權(quán)限認(rèn)證。
2、切換到admin數(shù)據(jù)庫(kù),添加的賬號(hào)才是管理員賬號(hào)。
3、用戶只能在用戶所在數(shù)據(jù)庫(kù)登錄,包括管理員賬號(hào)。
4、管理員可以管理所有數(shù)據(jù)庫(kù),但是不能直接管理其他數(shù)據(jù)庫(kù),要先在admin數(shù)據(jù)庫(kù)認(rèn)證后才可以。這一點(diǎn)比較怪

二、添加管理員賬號(hào)

復(fù)制代碼 代碼如下:

[root@localhost test]# mongo
MongoDB shell version: 2.4.6
connecting to: tank
> use admin                    //切換到admin數(shù)據(jù)庫(kù)
switched to db admin
> show collections;
system.indexes
system.users                   //用戶表
> db.system.users.find();      //用戶表沒有數(shù)據(jù)
> db.addUser('tank','test');   //添加一個(gè)管理員賬號(hào)
{
    "user" : "testuser",
    "readOnly" : false,
    "pwd" : "988432606980d0695e4f668f6bbc643a",
    "_id" : ObjectId("529e5d543b6a4608ac833429")
}


三、開啟動(dòng)用戶權(quán)限認(rèn)證

復(fù)制代碼 代碼如下:

[root@localhost test]# vim /etc/mongodb.conf           //將auth=true前面的注釋拿掉
[root@localhost test]# /etc/init.d/mongod restart      //重啟生效


四、用戶只能在用戶所在數(shù)據(jù)庫(kù)登錄,管理員需要通過admin認(rèn)證后才能管理其他數(shù)據(jù)庫(kù)

復(fù)制代碼 代碼如下:

[root@localhost test]# mongo
MongoDB shell version: 2.4.6
connecting to: tank
> show dbs;           //顯示所有數(shù)據(jù)庫(kù)失敗,因?yàn)檫€沒有認(rèn)證
Wed Dec  4 06:39:50.925 listDatabases failed:{ "ok" : 0, "errmsg" : "unauthorized" } at src/mongo/shell/mongo.js:46
> db.auth('tank','test');    //認(rèn)證失敗,因?yàn)檫@個(gè)用戶不屬于tank這個(gè)數(shù)據(jù)庫(kù)
Error: 18 { code: 18, ok: 0.0, errmsg: "auth fails" }
0
> use admin        //切換到admin數(shù)據(jù)庫(kù)
switched to db admin
> db.auth('tank','test');   //在admin數(shù)據(jù)庫(kù)認(rèn)證成功
1
> use tank;           //切換到tank數(shù)據(jù)庫(kù)
switched to db tank
> show collections;   //不會(huì)在提示沒有權(quán)限了
contact
system.indexes
users


五、添加普通用戶

復(fù)制代碼 代碼如下:

> use tank;
switched to db tank
> db.addUser('tank1','test');     //為tank數(shù)據(jù)庫(kù)添加了一個(gè)可讀寫用戶tank1
{
    "_id" : ObjectId("529e5f8474b4c660718a70f3"),
    "user" : "tank1",
    "readOnly" : false,
    "pwd" : "35dd47abff098f5b4f0b567db8edeac5"
}
> db.addUser('tank2','test',true);  //為tank數(shù)據(jù)庫(kù)添加了一個(gè)只讀用戶tank2
{
    "user" : "tank2",
    "readOnly" : true,
    "pwd" : "1792916c544d247538ded52e6df7b887",
    "_id" : ObjectId("529e67553992b24438d5e315")
}
> exit    //退出
bye
[root@localhost zhangy]# mongo
MongoDB shell version: 2.4.6
connecting to: tank
> db.auth('tank1','test');    //剛添加的用戶可以登錄。
1


六、php客戶端連接

1、 推薦方法一
復(fù)制代碼 代碼如下:

$mongo = new Mongo();   

$db = $mongo->selectDB('tank');   //切換到tank數(shù)據(jù)庫(kù) 

$db->authenticate("tank3", "test");   //認(rèn)證

$users= $db->selectCollection("users");  //選取users表

$cursor = $users->find();   //讀取數(shù)據(jù)

foreach ($cursor as $id => $value) {
    echo "$id: "; print_r($value); echo "<br>";
}[code]


這種方式比較好理解,根命令行下的操作過程差不多。

2、推薦方法二

復(fù)制代碼 代碼如下:

$mongo = new Mongo("mongodb://tank3:[email protected]:27017/tank");   //認(rèn)證用戶,這里的數(shù)據(jù)庫(kù),只啟認(rèn)證作用

$db = $mongo->selectDB('tank');  //選取數(shù)據(jù)庫(kù)

$users= $db->selectCollection("users");

$cursor = $users->find();

foreach ($cursor as $id => $value) {
    echo "$id: "; print_r($value); echo "<br>";
}


上面二種方法的不同在于,一個(gè)先選數(shù)據(jù)庫(kù)在認(rèn)證,一個(gè)先認(rèn)證在選數(shù)據(jù)庫(kù)。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 精品国产一区二区三区四区阿崩 | 亚洲精品无码不卡在线播放he | 久草在线资源观看 | 国产精品久久久久久久模特 | 日本欧美视频 | 久久久资源网 | 亚洲少妇诱惑 | 高潮娇喘嗯啊~文字 | chinese军人gay呻吟 | 中国老女人一级毛片视频 | 人禽l交免费视频 | 久久久久夜色精品国产老牛91 | 午夜爽爽爽男女免费观看hd | 男女亲热网站 | 午夜视频在线观看91 | 成人不卡 | 欧美精品成人一区二区三区四区 | 亚洲国产精品一区二区精品 | 91精品久久久久久久久久久 | 双性精h调教灌尿打屁股的文案 | 成人在线观看一区 | 欧美人禽| 国产成人综合在线观看 | 久草视频福利在线观看 | 欧美国产免费 | 国产一区二区高清在线 | 亚州综合 | 亚洲成人在线免费 | 国产精品一区二区免费在线观看 | 99精品视频久久精品视频 | 亚洲精品午夜国产va久久成人 | 国产高潮好爽好大受不了了 | 欧日一级片 | 亚洲精品在线观看免费 | 日韩不卡一区二区 | 国产一有一级毛片视频 | 欧美福利视频一区二区三区 | 亚洲精品v天堂中文字幕 | 毛片午夜 | 91九色视频| 国产午夜亚洲精品 |