mongodb 3.0 创建用户 开启认证

一、 创建用户  

mongodb 默认不开启认证 ,先创建超级管理员(可创建管理用户)

启动mongodb , 

--****************mongodb 3.0 没有admin库,添加admin库,创建超级管理员
不以认证模式启动mongodb数据库
./mongo 登陆
use admin

db.createUser(
   {
     user: "admin",
     pwd: "admin",
     roles:
       [
         { role: "readWrite", db: "admin" },
         { role: "readWrite", db: "config" },
         "clusterAdmin"
       ]
   }
)



db.auth("admin","admin");


--************为local db 创建用户,注意要先use admin下再创建,不能直接use local > 创建local用户
use admin

db.createUser(
   {
     user: "local",
     pwd: "local",
      roles: [
         { role: "dbOwner", db: "local" },
         { role: "readWrite", db: "local" }
      ]
   }
)

db.auth("local","local");



二、开启mongodb 安全认证 --auth

./mongod --dbpath=/root/mongodb-linux-x86_64-3.0.0/data/ --fork --logpath=/root/mongodb-linux-x86_64-3.0.0/logs/mongodb.log --logappend --httpinterface --directoryperdb --journal --auth


登陆   ( 注意 :是否启动bind_ip ,以及防火墙配置 )


1. 本地登录

cd 到 mongodb 的bin目录下

[root@localhost bin]# ls
bsondump  mongod     mongoexport  mongoimport  mongoperf     mongos     mongotop
mongo     mongodump  mongofiles   mongooplog   mongorestore  mongostat
[root@localhost bin]# ./mongo
MongoDB shell version: 3.0.0
connecting to: test
> use local
switched to db local
> db.auth("local","local")
Error: 18 Authentication failed.
0
> use admin
switched to db admin
> db.auth("local","local");
1
> show collections
local
new_test_col
system.indexes
system.users
system.version
> show users
2015-07-21T23:00:05.938-0400 E QUERY    Error: not authorized on admin to execute command { usersInfo: 1.0 }
    at Error ()
    at DB.getUsers (src/mongo/shell/db.js:1307:15)
    at shellHelper.show (src/mongo/shell/utils.js:615:12)
    at shellHelper (src/mongo/shell/utils.js:524:36)
    at (shellhelp2):1:1 at src/mongo/shell/db.js:1307
> use local
switched to db local
> show collections
article_test_20150722
local
new_test_col
startup_log
system.indexes


2. 远程登陆 需按照mongodb

mongodb 的服务器IP : 192.168.0.43

远程登陆的服务器IP : 192.168.0

./mongo 192.168.0.43/admin -ulocal -plocal

注意: local 数据库比较特别,不能直接use lcoal ,创建local 用户
得 use admin > >  创建 local 用户

且 use local > show users 就算有local  用户也显示不出来,
要切换至admin ,  use  admin > show users 才能才看出 local 用户 ;
认证local用户也同理

[root@localhost bin]# ls
bsondump  mongod     mongoexport  mongoimport  mongoperf     mongos     mongotop
mongo     mongodump  mongofiles   mongooplog   mongorestore  mongostat
[root@localhost bin]# ./mongo 192.168.0.43/admin -ulocal -plocal
MongoDB shell version: 3.0.0
connecting to: 192.168.0.43/admin
> show collections
local
new_test_col
system.indexes
system.users
system.version
> use local
switched to db local
> show collections
article_test_20150722
local
new_test_col
startup_log
system.indexes



3. 用图形化工具连接mongodb 

个人试验的小结:  不开启认证能连接,但mongodb开启用户认证,就怎么也连接不上去,查了好多资料也没搞清楚。





你可能感兴趣的:(mongodb,3.0)