mongodb3.0.3 添加认证用户和密码

来源:互联网 发布:发现网络存在问题 编辑:程序博客网 时间:2024/05/16 15:22
mongodb3.0.3 添加认证用户和密码

首先在mongodb数据库没有开启认证的情况下登录,执行开启mongod进程的命令,最好不要使用管理员帐号来操作。
sudo /home/develop/mongodb/bin/mongod --dbpath=/home/develop/data/db/ --logpath=/home/develop/data/logs/my.log --logappend  --port=27017 --fork 

查看一下该进程是否成功
ps -ef|grep mongod

./bin/mongo

>use admin  
> db.createUser(  
{  
    user: "admin",  
    pwd: "123456",  
    roles:  
    [  
      {  
        role: "userAdminAnyDatabase",  
        db: "test"  
      }  
    ]  
  }  
)  
这样就为admin创建了一个可以访问的用户了.
然后再杀掉mongod进程
pkill mongod
然后将锁定文件删除掉 (不删除掉该文件,接下来会有其他问题的)
rm mongod.lock
最后重启一下mongod进程,使用认证方式来开启,具体的linux命令为:
sudo /home/develop/mongodb/bin/mongod --dbpath=/home/develop/data/db/ --logpath=/home/develop/data/logs/my.log --logappend  --port=27017 --fork  --auth

./bin/mongo
>use admin
>db.auth('admin','123456');
>db.system.user.find()

然后具体到php代码上,连接mongodb的例子如下:

    $m = new MongoClient("mongodb://admin:123456@128.0.0.1:27017/test");
            $db = $m->test;
            echo 'after new mongo<br/>';
            
            $collection = $db->users;
            
            $user = array('username'=>'areyouok','age'=>33);
            $collection->insert($user);
            
            $user = array('username'=>'howareyou','age'=>29,'sex'=>'famale');
            $collection->insert($user);
            
            $user = array('username'=>'howdoyoudo','mobile'=>'18611112222','age'=>33);
            $collection->insert($user);
            
            $cursor = $collection->find();
            
            foreach($cursor as $obj)
            {
                echo $obj['username'].'<br/>';
            }
0 0