mongodb简介、安装、启停(转并学习) MongoDB是一种强大、灵活以及可扩展的数据存在方式,一种文档数据库,非关系型数据库。 1.安装使用 安装非常简单,管理简单。 2.数据模型 mongodb的存在以文档表示概念上的“row”,即数据行,以集合表示概念的“table”。文档以“_id”唯一标识,文档的属性以key/value的方式,文档可以内嵌文档、数组等。文档的键不是固定的,因此可以很方便的改变数据模型。 mongodb没有模式,集合存在唯一性,所有文档的存储也较灵活。 3.易扩展 mongodb面向文档的数据模型,可以再多台服务器之间进行分割数据。另外可以平衡集群的数据和负载,自动重拍文档。若需要更大的容量,只要在集群中添加新的机器即可。 4.多功能性 索引: 支持通用的辅助索引,能进行多种快速查询,也提供唯一的。复合的和地理空间索引能力。 存储javascript: 在服务器端可直接存取javascript的函数和值。 聚合: mongodb支持MapReduce和其他聚合工具。 固定集合: 集合的大小是有上限的,这对某些类型的数据特别有用。 文件存储: 支持用一种容易使用的协议存储大型文件和文件的元数据。 5.高性能 对数据的处理速度是mongodb的主要目标,影响设计上的很多决定。 注:联接(join)和复杂的多行事务。 Mongodb安装、启停: 在linux系统下安装与windows系统下没什么区别,linux下主要注意新建的文件或者目录存在执行,读写权限的问题即可。以windows系统(32)为例: 1.在D:\MONGODB目录下下载安装包,mongodb-win32-i386-2.0.6.zip 2.解压【1】中的压缩包后得到文件夹:mongodb-win32-i386-2.0.6,然后修改文件夹名为mongodb 3.进入mongodb目录,即当前D:\MONGODB\mongodb,创建文件夹data;在data中创建子文件夹db;亦可在当前D:\MONGODB\mongodb下新建日志文件log.log 以上步骤即安装了mongodb的所需的相关目录和文件。 4.在D:\MONGODB下可新建批处理文件startMongoDB.bat,内容如下: ############################################################################################# cd D:\MONGODB\mongodb\bin mongod --dbpath=../data/db --directoryperdb --logpath=../log.log --logappend --auth ############################################################################################# --auth:在创建用户以及停止mongodb服务时需要进行用户密码验证 5.启动 运行startMongoDB.bat文件,查看log.log日志文件,正常启动信息如下: ***** SERVER RESTARTED ***** Mon Jul 02 10:33:00 Mon Jul 02 10:33:00 warning: 32-bit servers don't have journaling enabled by default. Please use --journal if you want durability. Mon Jul 02 10:33:00 Mon Jul 02 10:33:00 [initandlisten] MongoDB starting : pid=5848 port=27017 dbpath=../data/db 32-bit host=pangmc-PC Mon Jul 02 10:33:00 [initandlisten] Mon Jul 02 10:33:00 [initandlisten] ** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data Mon Jul 02 10:33:00 [initandlisten] ** see http://blog.mongodb.org/post/137788967/32-bit-limitations Mon Jul 02 10:33:00 [initandlisten] ** with --journal, the limit is lower Mon Jul 02 10:33:00 [initandlisten] Mon Jul 02 10:33:00 [initandlisten] db version v2.0.6, pdfile version 4.5 Mon Jul 02 10:33:00 [initandlisten] git version: e1c0cbc25863f6356aa4e31375add7bb49fb05bc Mon Jul 02 10:33:00 [initandlisten] build info: windows sys.getwindowsversion(major=6, minor=0, build=6002, platform=2, service_pack='Service Pack 2') BOOST_LIB_VERSION=1_42 Mon Jul 02 10:33:00 [initandlisten] options: { auth: true, dbpath: "../data/db", directoryperdb: true, logappend: true, logpath: "../log.log" } Mon Jul 02 10:33:00 [initandlisten] waiting for connections on port 27017 Mon Jul 02 10:33:00 [websvr] admin web console waiting for connections on port 28017 6.创建用户 进入D:\MONGODB\mongodb\bin,双击运行mongo.exe文件,在打开的窗口中进行如下操作: >use admin 回车 跳转进入admin用户下。。。 >db.addUser("admin","admin123") 创建admin用户。。。 >db.auth("admin","admin123") 1 校验admin用户,成功! >db.addUser("sdap","sdap123") 创建普通存储用户。。。 >use sdap 跳转进入sdap用户下。。。 >db.addUser("sdap","sdap123") 创建sdap用户成功。。。 7.停止mongodb服务 停止应用admin用户,进入D:\MONGODB\mongodb\bin,双击运行mongo.exe文件,在打开的窗口中进行如下操作: >use admin 回车 跳转进入admin用户下。。。 >db.auth("admin","admin123"); ============================= ============================= 刚设置用户第一次运行auth时显示为1, 以后在用db.auth相同的用户时显示出下错误,弄不懂 Error:{errmsg:"auth fails", ok:0.0} ============================= ============================= 1 校验admin用户,成功! >db.shutdownServer()