一、注意事项
1、mongodb的32位版本仅支持存储2gb的数据(包括索引等所有数据),而64位则无限制。
2、Mongodb使用内存映射数据,存储需要消耗大量的RAM,至少需要满足足够存储所有索引和热数据的物理内存,否则会大大影响性能。
3、在内存足够的情况下,mongodb的访问、存储性能好。
4、每个数据库的名称空间数量有限(默认每个数据库中使用集合限定在24000),每个collection以及索引都算作namespace。当collection和索引数量过多时,会报错“too many namespaces/collections”。解决方案:通过修改启动参数--nssize,用于指定.ns文件(存储名称空间)大小(默认16Mb),并重启服务,使用客户端输入命令:db.repairDatabase(),进行自动修复即可。
二、安装
1、下载官方压缩包,解压,如到D:/Program Files/mongodb下。
2、进入D:/Program Files/mongodb,创建相关文件夹及文件
数据文件夹:data
日志文件夹:log
日志文件:mongod.log
mongodb启动配置文件:mongodb.cnf
写入配置:
bind_ip=127.0.0.1#服务器ip
port=27017#服务器端口
dbpath=D:/Program Files/MongoDB/data#数据库存储路径
logpath=D:/Program Files/MongoDB/log/mongo.log#日志文件
logappend=true#日志追加模式
journal=true#开启日志
auth=true#开启用户验证
directoryperdb=true#开启分库文件夹
nssize=16#修改存储名称空间文件(.ns)大小(默认16MB)
httpinterface=true#开启自带的web监控界面 ,默认端口:28017
(更多参数,可在mongod.exe中--help了解,修改配置后要重启服务)
3、打开cmd命令窗口,进入D:/Program Files/mongodb/bin,安装服务,输入命令:
mongod -f "D:\Program Files\MongoDB\mongodb.cnf" --service
4、进入服务,修改mongodb开机启动服务。
三、用户和角色
1、角色
角色可以继承,继承的角色拥有被继承角色的所有权限。
角色可以继承同一个数据库中的角色,而在admin数据库中创建的角色可以继承任何其他数据库创建的角色。
角色存储与admin数据库中system.roles的collection中,但不直接访问,而是通过命令访问。
a、创建角色:
db.runCommand({
createRole: "<new role>", privileges: [ { resource: { <resource> }, actions: [ "<action>", ... ] }, ... ], roles: [ { role: "<role>", db: "<database>" } | "<role>", ... ], writeConcern: <write concern document>}
})
详细参数见:http://docs.mongodb.org/master/reference/command/createRole/#dbcmd.createRole
b、删除角色:
db.runCommand({ dropRole: "<role>", writeConcern: { <write concern> }
})
详细参数见: