首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

mongodb访问权限设立及PHP连接

2012-12-23 
mongodb访问权限设置及PHP连接默认mongodb链接,是可以访问任何数据的.如果是在生产环境中,这样做必然导致

mongodb访问权限设置及PHP连接

默认mongodb链接,是可以访问任何数据的.

如果是在生产环境中,这样做必然导致很多问题,通过尝试,和查找资料,整理如下(参考http://www.php.net/manual/en/mongo.connecting.php):

?

常用命令:

?

show dbs ? ? 相当于 ? show databases

?

show collections ?相当于 ?show tables?

?

use ?用法相同

?

在添加用户以后每个数据库中都会有

?

system.indexes

system.users

但是,admin中设置的user为超级管理员,可以查看其他的数据库(必须在use admin 数据库后,登录,可以查看其他数据库的数据。直接use test数据库,用超级管理员是无法登录的)

单独的数据库也可以设置单独的访问用户;具体如下

?

?

?

1 可以设置超级管理员(对所有的数据库都有权限):

?

?

?

2 对某个数据库设置用户权限:

?

?在PHP中访问方式

?

?

<?php##1 使用超级用户连接mongodb/*mongodb连接*/$m = new Mongo("mongodb://admin:12345678@192.168.138.35:27017");/*选择melon数据库*/$db = $m->melon;/*集合*/$collection = melonco;/*选择数据库里面的集合,相当于表*/$collection = $db->$collection;$array = array('name'=>'melon','age'=>'24','sex'=>'Male','birth'=>array('year'=>'1988','month'=>'07','day'=>'13'));$collection->insert($array);$cursor = $collection->find();foreach ($cursor as $id => $value) {    echo "$id: "; var_dump($value); echo "<br>";     }###2 使用数据库用户/*mongodb连接*/$m = new Mongo("192.168.138.35:27017");/*选择comment*/$db = $m->melon;/*连接数据库*/$db->authenticate("melon", "melon");/*选择t数据库里面集合,相当于表*/$collection = $db->melonco;$array = array('name'=>'melon_son','age'=>'0','sex'=>'Male','birth'=>array('year'=>'201X','month'=>'07','day'=>'13'));$collection->insert($array);$cursor = $collection->find();foreach ($cursor as $id => $value) {    echo "$id: "; var_dump($value); echo "<br>";     }

热点排行