win7下设置mongodb数据库的用户名和密码

发布时间:2012-11-26 04:38:01


win7下安装非关系型数据库MongoDB,mongodb默认是不需要用户名和密码的。但是,在实际开发过程中,为了安全起见,当然还是要为数据库设置用户名和密码的,接下来站长就向大家介绍

win7下如何设置mongodb数据库的用户名和密码。

第一步:使用管理员身份打开cmd窗口,定位到D:\mongodb\bin目录,使用命令

mongod --auth --logpath "D:\mongodb\log\log.log" --logappend --dbpath "D:\mongodb\data\db" --directoryperdb --reinstall

重新安装mongodb服务。大家可以注意到,我们在命令中添加了–auth,这个参数告诉mongodb开启权限认证。安装完成后,使用net start MongoDB启动数据库。

第二部:定位到D:\mongodb\bin,使用mongo命令进入mongodb的命令行管理。

键入命令:

>use admin

>db.addUser("root","asdfghjkl")

现在我们为mongodb的admin数据库添加一个用户root,密码也是asdfghjkl,mongodb可以为每个数据库都建立权限认证,也就是你可以指定某个用户可以登录到哪个数据库。上面的代码,我

们为admin数据库添加了一个root用户,在mongodb中admin数据库是一个特别的数据库,这个数据库的用户,可以访问mongodb中的所有数据库。

如果你要为mymongo数据库,设置一个用户,使用如下命令:

>use mymongo

>db.addUser("mymongo","asdfghjkl")

好了,现在我们已经为mongodb设置了一个全局用户root,接下来先重启mongodb,然后再测试以下代码:

<?php
// 使用用户名和密码连接数据库,确保mongodb服务已经启动
$m = new Mongo("mongodb://root:asdfghjkl@localhost:27017");
//如果你使用下面的代码,将无法连接数据库而显示一个错误页面
//$m = new Mongo();
//选择一个数据库,如果没有,mongodb将会自动创建
$db = $m->comedy;

// 选择一个集合,在mongodb中集合类似于表
$collection = $db->cartoons;

//添加一条记录
$obj = array( "title" => "Calvin and Hobbes", "author" => "Bill Watterson" );
$collection->insert($obj);

//添加另一条记录, 字段不一样
$obj = array( "title" => "XKCD", "online" => true );
$collection->insert($obj);

// 查找集合中的所有数据
$cursor = $collection->find();

// 打印对象数组
foreach ($cursor as $obj) {
    echo $obj["title"] . "<br />";
}

?>

好了,如何为mongodb设置用户名和密码
,就ok了!