用户管理: 注意: 添加用户后,我们再次退出并登陆,发现依然可以直接读数据库? 原因: mongodb服务器启动时, 默认不是需要认证的. 要让用户生效, 需要启动服务器时,就指定 --auth 选项. 这样, 操作时,就需要认证了. use admin //在mongodb中,有一个admin数据库, 牵涉到服务器配置层面的操作,需要先切换到admin数据.即 use admin , 相当于进入超级用户管理模式。在mysql中建立用户名和密码是以库表主机为单位,mongo中简单一些是以库为单位的,每个数据库有自己的管理员。 //要想设置用户,先切到admin下,建立一个管理员,以后这个管理员就是超级管理员。 //需要先在admin数据库下建立管理员---这个管理员登陆后,相当于超级管理员. 1: 添加用户 命令:db.addUser(); 简单参数: db.addUser(用户名,密码,是否只读) 1: 添加用户 > use admin > db.addUser(‘sa’,’sa’,false); 2: 认证 > use test > db.auth(用户名,密码); 3: 修改用户密码 > use test > db.changeUserPassword(用户名, 新密码); 3:删除用户 > use test > db.removeUser(用户名); 注: 如果需要给用户添加更多的权限,可以用json结构来传递用户参数 例: > use test >db.addUser({user:‘guan‘,pwd:‘111111‘,roles:[‘readWrite,dbAdmin‘]}); db.addUser(); {user:‘xx‘,pwd:‘yy‘,roles:[‘readWrite‘]} 一般用户可以简化为: db.addUser(user,pwd,isReadOnly); roles有: read,readWrite,dbAdmin,userAdmin,clusterAdmin,readAnyDatabase,readWriteAnyDatabase,userAdminAnyDatabase,dbAdminAnyDatabase db.removeUser(userName); db.changeUserPassword(userName,newPwd); db.auth(user,pwd);