mongodb入门之安装及授权

一、mongodb的安装
1、下载安装包,我下载的是mongodb-win32-i386-2.4.4.zip,您可以根据实际需要到网上下载适合自己的版本
2、创建mongodb目录,将安装包解压到此目录。(我的目录为F:\mongodb\bin,安装包中有用的内容为bin目录下的内容,你可以解压后将整个bin目录拷贝到你的mongodb目录,或者将bin内的所有文件拷贝到你的目录)
3、设置数据目录:在F:\mongodb下创建目录data,此目录为mongodb数据放置的根目录,你将目录设置为别的名字也可以,在启动mongodb时指定数据目录即可。
至此mongodb已安装完成,下面进行配置。
4、运行cmd,进入到F:\mongodb\bin,然后输入如下命令
   mongod --dbpath F:\mongodb\data    //--dbpath就是指定数据存放的目录
启动正确时,最后显示下列信息:
Tue Oct 15 16:53:50.834 [initandlisten] db version v2.4.4
Tue Oct 15 16:53:50.834 [initandlisten] git version: 4ec1fb96702c9d4c57b1e06dd34eb73a16e407d2
Tue Oct 15 16:53:50.834 [initandlisten] build info: windows sys.getwindowsversion(major=6, minor=0, build=6002, platform=2, service_pack='Service Pack 2') BOOST_LIB_VERSION=1_49
Tue Oct 15 16:53:50.834 [initandlisten] allocator: system
Tue Oct 15 16:53:50.849 [initandlisten] options: { dbpath: "F:\mongodb\data" }
Tue Oct 15 16:53:50.943 [websvr] admin web console waiting for connections on port 28017
Tue Oct 15 16:53:50.943 [initandlisten] waiting for connections on port 27017

mongodb启动时的默认端口为27017,如果想以其它端口启动,可以使用--port命令:mongod --dbpath F:\mongodb\data --port 27019
5、此时可登录mongodb的客户端连接工具,查看及操作mongodb
   运行cmd,进入F:\mongodb\bin,输入mongo命令,即可连接到当前的mongodb服务器;双击bin目录下的mongo.exe也可以
至此,mongodb的普通安装和连接就完成了,在mongo.exe客户端中可以创建数据库、表、插入、删除、查看数据等操作,一些常用的命令请参考mongodb入门之常用命令(http://lucizhang.iteye.com/admin/blogs/1958512)
二、安装mongodb服务
为了方便,可以将mongodb作为服务安装,以后再启动时只需启动此服务即可,命令如下:
mongod --dbpath F:\mongodb\data --logpath=F:\\mongodb\log.txt --port 2222 --install  //安装服务,我的是xp系统,安装后查看“我的电脑---右键---管理---服务和应用程序---服务”,出现Mongo DB服务
mongod --dbpath F:\mongodb\data --logpath=F:\\mongodb\log.txt --port 2222 --remove   //卸载服务
三、mongodb权限
1 mongodb系统中,数据库是由超级用户来创建的,一个数据库可以包含多个用户,一个用户只能在一个数据库下,不同数据库中的用户可以同名!
2 当admin.system.users一个用户都没有时,即使mongod启动时添加了--auth参数,如果没有在admin数据库中添加用户,此时不进行任何认证还是可以做任何操作(不管是否是以--auth 参数启动),直到在admin.system.users中添加了一个用户。
3 特定数据库比如DB1下的用户User1,不能够访问其他数据库DB2,但是可以访问本数据库下其他用户创建的数据!
4 不同数据库中同名的用户不能够登录其他数据库!比如DB1,DB2都有user1,以user1登录DB1后,不能够登录到DB2进行数据库操作!
5 在admin数据库创建的用户具有超级权限,可以对mongodb系统内的任何数据库的数据对象进行操作!
实验示例:使用上面已安装的mongodb,对其授权
1)mongod --dbpath E:\mongodb\db --port 27017 --auth  //鉴权启动,权限设置才会起作用
2)打开一个新的cmd窗口,输入mongo命令,登录mongodb数据,默认连接test数据库
   show collections;   //查看test下有哪些表,结果为空,不存在任何表
   db.addUser("test","test");  //为test数据库添加test用户
   show collections;   //发现test数据库下新增了system.indexes和system.users两个表,users表存储该数据库的用户,indexes表存储该数据库表和用户的一些信息,具体有待研究
3)再打开一个mongo客户端
   mongo
   show collections; 
   发现可以查看test数据库的表,并未提示需要权限,这是因为还未添加超级管理员用户。mongodb鉴权启动后,会生成一个admin数据库,在该数据库中添加的用户即为超级管理员用户,该数据库下的users表为空时,虽然鉴权启动,但是权限并没有起作用,只有users表中有用户时权限才起作用
4)use admin;   //使用admin数据库
   db.addUser("sa","sa");   //添加超级用户

猜你喜欢

转载自lucizhang.iteye.com/blog/1958508