资源描述:
《mongodb数据库用户名密码》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、一.安装带安全验证机制的mongodb服务:在mongodb的安装路径的bin目录下,执行mongod命令使mongodb作为系统的一个服务:指令参考如下:D:mongodbbin>mongod--dbpathD:datadb--logpathD:dataMongodb.log–logappend–serviceNameMongoDB--auth--install这时,系统会多一个名为MongoDB的服务,可以在开始——运行下输入Services.msc可以查看。指令中的—auth命令就是为
2、mongodb加上安全验证。--dbpath命令指定数据存放的目录,--logpath命令指定日志文件。如果原本已经存在MongDB服务,可以用以下指令先删除该服务再用以上指令添加Mongodb服务:(该指令对数据库的数据不会产生影响)scdeletemongoDB二.如果mongodb服务已加入安全验证机制,做如下测试:1.为管理者账号添加用户名和密码:D:mongodbbin>mongoMongoDBshellversion:2.4.5connectingto:test>useadmin#使用管
3、理员账号switchedtodbadmin>db.addUser('name','password')#加入用户名和密码的指令{"user":"name","readOnly":false,"pwd":"e7fa8c32338a5d2b2359898095ede6f7","_id":ObjectId("52c0e91e5c69479a4bf19922")}>ctrl+c退出2.管理者账号验证:D:mongodbbin>mongoMongoDBshellversion:2.4.5connectingt
4、o:test>showdbs#没有输入用户名密码,会出现以下出错误:MonDec3011:41:39.656JavaScriptexecutionfailed:listDatabasesfailed:{"ok":0,"errmsg":"unauthorized"}atsrc/mongo/shell/mongo.js:L46>useadmin#使用管理者账号switchedtodbadmin>showdbs#即使在管理者账号下,没有输入用户名密码,也会出现以下出错误:MonDec3011:41:39.65
5、6JavaScriptexecutionfailed:listDatabasesfailed:{"ok":0,"errmsg":"unauthorized"}atsrc/mongo/shell/mongo.js:L46>db.auth('nnn','mmm')#如果输入的用户名密码不正确,会出现如下错误Error:18{code:18,ok:0.0,errmsg:"authfails"}0>db.auth('name','password')#当验证成功会输出11>showdbs#这时就可以对数据库进行
6、操作admin0.0625GBlocal0.03125GBmymongo0.0625GBtest(empty)3.为普通账号创建用户名密码:在加入安全验证后,必须要为管理者admin账号加入用户名和密码,而其他普通账号可以加入用户名密码,也可以不加入。D:mongodbbin>mongoMongoDBshellversion:2.4.5connectingto:test>useadminswitchedtodbadmin>db.auth('name','password')#先要验证管理者账号1>u
7、semymongo#选择普通账号switchedtodbmymongo>db.mymongo.find()#普通账号没有加入用户名密码前可以操作{"_id":ObjectId("52b7b54277e027dceef452e7"),"name":"lzf"}>db.addUser('name1','password1')#为普通账号加入用户名密码{"user":"name1","readOnly":false,es"pwd":"ba42b4992a16552be7af868d232ad22e","_id
8、":ObjectId("52c0fc9fce02de7cae298260")}>ctrl+c退出4.普通账号验证:D:mongodbbin>mongoMongoDBshellversion:2.4.5connectingto:test>usemymongoSwitchedtodbmymongo>db.mymongo.find()#没有验证,不能对mymongo进行操作error:{"$err":"notauthorizedforquer