mongodb数据库的使用-管理员管理-创建超级管理员以及登陆-直接验证登陆

链接其它主机的mongodb 数据库服务


G:\mongodb\bin>mongo 192.168.102.208:27017/abc






db.student.save({name:'wangwu',age:22,address:'郑州',phone:'13014577033'});


功能是从192.168.102.208主机上把abc数据库复制到本地名为abc1
>db.copyDatabase('abc', 'abc1', '192.168.102.208');




安全


G:\mongodb\bin>mongod --dbpath g:\mongodb\data --auth


允许本地无账号密码,可以访问数据库,安全模式会有一个admin特殊的数据库


建立账号 在admin数据库下建立的账号是超级管理员
use admin;
>db.addUser('admin','123');
>db.addUser('root','root',true);  只读账号,


超管理登录
G:\mongodb\bin>mongo localhost:27017/admin -u admin -p 111


G:\mongodb\bin>mongo
>use admin;
>db.auth('admin','111');


查看用户列表:


用户信息存储在每个数据库的system.users集合。例如数据库projectX中的用户存储在projectX.system.users集合。


> db.system.users.find()


删除一个账号
>use admin;
>db.removeUser('a');
>db.system.users.remove( { user:'username'} )


修改密码
db.addUser("admin", "admin新密码");






> use shop
switched to db shop
> db.addUser('user','shop');  给shop数据库建立的超级管理员
{
        "user" : "user",
        "readOnly" : false,
        "pwd" : "1ec030ff51ab9b135702daaa20862a90",
        "_id" : ObjectId("526c751d93bdcc1d5ad5b679")
}
> use shop
switched to db shop
> db.addUser('root','root',true); 给shop数据库建立的 只读管理员
{
        "user" : "root",
        "readOnly" : true,
        "pwd" : "2a8025f0885adad5a8ce0044070032b3",
        "_id" : ObjectId("526c753393bdcc1d5ad5b67a")
}




>mongo localhost:27017/shop -u user -p shop 登录后,只能对shop数据库操作
>mongo localhost:27017/shop -u root -p root 登录后,只能查询,查看




>use shop;
> db.system.users.find(); 当前是查询shop数据库的所有账号信息。


db.auth('user','shop'); shop数据库的超级管理员


或 
use admin;
db.auth('admin','admin'); 此时是系统超级管理用户。




-- 安全是,只能本机才可能链接服务
G:\mongodb\bin>mongod --dbpath g:\mongodb\data --auth --bind_ip localhost


关闭http://localhost:28017 http管理服务器
G:\mongodb\bin>mongod --dbpath g:\mongodb\data --auth --bind_ip localhost --nohttpinterface




G:\mongodb\bin>mongod --dbpath g:\mongodb\data --auth --bind_ip 192.168.102.10


登录


use admin; 在admin数据库中建立账号为管理员
db.addUser('aa','123'); 不推荐使用
db.addUser('aa','123',true); 只能读取的管理员


新建立用户的方法
进入use db 建立只读管理员
db.createUser({user:"rr",pwd:"rr",roles:[{role:"read",db:"db"}]});


roles的类型:

    "role" : "dbAdmin",
    "db" : "test",
    "isBuiltin" : true,
    "roles" : [ ],
    "inheritedRoles" : [ ]




    "role" : "dbOwner",
    "db" : "test",
    "isBuiltin" : true,
    "roles" : [ ],
    "inheritedRoles" : [ ]




    "role" : "read",
    "db" : "test",
    "isBuiltin" : true,
    "roles" : [ ],
    "inheritedRoles" : [ ]




    "role" : "readWrite",
    "db" : "test",
    "isBuiltin" : true,
    "roles" : [ ],
    "inheritedRoles" : [ ]




    "role" : "userAdmin",
    "db" : "test",
    "isBuiltin" : true,
    "roles" : [ ],
    "inheritedRoles" : [ ]





给数据库db建立管理员
db.createUser({user:"aa",pwd:"aa123",roles:[{role:"dbOwner",db:"db"}]});


登录
mongo localhost:27017/db -u aa -p aa123 


验证方法
use db;
db.auth('aa','aa123');


 建立超级管理员
db.createUser({user:"test",pwd:"test123",roles:[{role:"root",db:"admin"}]});


登录
mongo localhost:27017/admin -u test -p test123


use admin;
db.auth('test','test123');


db.removeUser('aa'); 不推荐使用


db.dropUser('aa'); 推荐使用


直接连接账号密码地址 登录服务器
mongo localhost:27017/admin -u aa -p 123

你可能感兴趣的:(mongodb数据库)