MongoDB的安装 转
第1章 MongoDB的安装
(黎明你好原创作品,转载请注明)
1.1 MongoDB简介
MongoDB是一个基于分布式文件存储的数据库开源项目。由C++语言编写,旨在为WEB应用提供可护展的高性能数据存储解决方案。
它的特点是可扩展,高性能,易使用,模式自由,存储数据非常方便等。
1.1.1 主要功能特性
a)面向文档存储:(类JSON数据模式简单而强大)。
b)高效的传统存储方式:支持二进制数据及大型对象(如照片和视频)。
c)复制及自动故障转移:Mongo数据库支持服务器之间的数据复制,支持主-从模式及服务器之间的相互复制。
d)Auto-Sharding自动分片支持云级扩展性(处于早期alpha阶段):自动分片功能支持水平的数据库集群,可动态添加额外的机器。
e)动态查询:它支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。
f)全索引支持:包括文档内嵌对象及数组。Mongo的查询优化器会分析查询表达式,并生成一个高效的查询计划。
g)支持RUBY,PYTHON,JAVA,C++,PHP等多种语言。
1.1.2 适用场景
a)适合实时的插入,更新与查询,并具备应用程序实时数据存储所需的复制及高度伸缩性。
b)适合作为信息基础设施的持久化缓存层。
c)适合由数十或数百台服务器组成的数据库。因为Mongo已经包含对MapReduce引擎的内置支持。
d)Mongo的BSON数据格式非常适合文档化格式的存储及查询。
1.1.3 不适用场景
a)高度事务性的系统。
b)传统的商业智能应用。
c)级为复杂的SQL查询。
1.2 Windows环境安装
1.2.1 下载tar包
mongodb-win32-x86_64-2.4.6。
1.2.2 配置文件
创建log文件夹
- md D:\mongodb-win32-x86_64-2.4.6 \log
创建MongoDB的logpath选项的配置文件:
- echo logpath=d:\mongodb-win32-x86_64-2.4.6\log\mongo.log > d:\mongodb-win32-x86_64-2.4.6\mongod.cfg
1.2.3 手动启动
启动服务
- mongod --dbpath d:\mongodb_data
- 或
- mongod --config d:\mongodb-win32-x86_64-2.4.6\mongod.cfg
1.2.4 服务启动
安装 MongoDB 程序作为Windows 服务。
- 安装 MongoDB 服务
- mongod --config d:\mongodb-win32-x86_64-2.4.6\mongod.cfg --install
- 运行 MongoDB 服务
- net start MongoDB
- 移除服务
- mongod --remove
1.2.5 REST is not enabled
当出现以下错误时
REST is not enabled. use --rest to turn on. check that port 28017 is secured for the network too.
解决办法:
使用命令行启动时:
- mongod --dbpath d:\mongodb_data --rest --port 27017
重新安装系统服务:
- mongod --dbpath d:\mongodb_data --config d:\mongodb-win32-x86_64-2.4.6\mongod.cfg --rest --port 27017 --install
1.3 Linux环境安装
1.3.1 下载包tgz
mongodb-linux-i686-2.4.6.tgz
1.3.2 创建用户
创建用户
- adduser mongodb
- passwd mongodb
1.3.3 创建数据库文件
创建数据库文件
- mkdir -p /data/mongodb_data
- chown mongodb /data/mongodb_data –R
- chgrp mongodb /data/mongodb_data -R
1.3.4 配置文件
创建log文件夹
- mkdir /opt/mongodb/mongodb-linux-i686-2.4.6/logs
创建MongoDB的logpath选项的配置文件:
- echo /opt/mongodb/mongodb-linux-i686-2.4.6/bin/mongod --dbpath /data/mongodb_data/ --logpath /opt/mongodb/mongodb-linux-i686-2.4.6/logs/mongodb.log --rest --port 27017
1.3.5 手动启动
启动服务
- ./mongod --dbpath /data/mongodb_data
1.3.6 服务启动
安装 MongoDB 程序作为Linux 服务。
安装 MongoDB 服务
- echo /opt/mongodb/mongodb-linux-i686-2.4.6/bin/mongod --dbpath /data/mongodb_data/ --logpath /opt/mongodb/mongodb-linux-i686-2.4.6/logs/mongodb.log --rest --port 27017–fork >> /etc/rc.local
1.4 链接数据库
使用命令行方式,并创建student数据库
命令行链接病创建数据库
- >mongo
- >use student
在Student数据库中,创建user集合,插入一条文档
在Student数据库插入一条数据并查询
- db.user.save({username: "limingnihao", nickname: "黎明你好", password: "123456"})
1.5 操作命令
| 功能 | 命令 |
| 进入和创建数据库 | use test |
| 增加或修改用户密码 | db.addUser('name','pwd') |
| 查看用户列表 | db.system.users.find() |
| 用户验证 | db.auth('name','pwd') |
| 删除用户 | db.removeUser('name') |
| 查看主从复制状态 | db.printReplicationInfo() |
| 修复数据库 | db.repairDatabase() |
| 拷贝数据库 | db.copyDatabase("mydb","temp", 127.0.0.1"); |
| 克隆数据库 | db.cloneDatabase(“127.0.0.1”); |
| 删除当前的数据库 | db.dropDatabase() |
| 查看当前使用的数据库 | db.status() |
| 数据库版本 | db.version() |
| 查看所有用户 | show users |
| 查看所有数据库 | show dbs |
| 查看所有的collection | show collections |
| 查看profiling | show profile |
| 查询之前的错误信息 | db.getPrevError() |
| 清除错误记录 | db.resetError() |
| 创建一个聚集集合(table) | db.createCollection(“collName”, {size: 20, capped: 5, max: 100}) |
| 得到指定名称的聚集集合(table) | db.getCollection("account") |
| 得到当前db的所有聚集集合 | db.getCollectionNames() |
| 显示当前db所有聚集索引的状态 | db.printCollectionStats() |
1.6 数据类型
| 数据类型 | 描述 | 距离 |
| 布尔值 | true 或者false | 真或者假: true 或者false |
| 32 位整数 | 32 位整数。shell 是不支持该类型的, shell 中默认会转换成 64位浮点数 | |
| 64 位整数 | 64 位整数。shell 是不支持该类型的, shell 中默认会转换成 64位浮点数 | |
| 64 位浮点数 | 64 位浮点数。shell 中的数字就是这一种类型 | { “x”: 3.14 ,“y” : 3} |
| 字符串 | UTF-8 字符串 | { “foo”:“bar”} |
| 对象id | 文档的 12 字节的唯一id | { “id”: ObjectId()} |
| 日期 | 从标准纪元开始的毫秒数 | { “date”:new Date()} |
| 正则表达式 | 文档中可以包含正则表达式,遵循 JavaScript 的语法 | { “foo”:/foobar/i} |
| JS代码 | 文档中可以包含 JavaScript 代码 | { “x”: function() {}} |
| 二进制数据 | 任意字节的二进制串组成, shell 不支持 | |
| 未定义 | undefined | { “x”: undefined} |
| 数组 | 值的集合或者列表 | { “arr”: [“a”,“b”]} |
| 内嵌文档 | 文档可以作为文档中某个 key 的value | { “x”:{“foo”:“bar”}} |
| null | 表示空值或者未定义的对象 | { “x”:null} |
ObjectId类型结构:

MongoDB的安装 转的更多相关文章
- MongoDB下载安装与简单增删改查
Windows下MongoDB的安装和配置.启动和停止 下载地址:MongoDB的官方下载网址是:https://www.mongodb.org/downloads 安装步骤1. 点击下载的mongo ...
- MongoDB的安装与设置MongoDB服务
Mongo DB 是目前在IT行业非常流行的一种非关系型数据库(NoSql),其灵活的数据存储方式备受当前IT从业人员的青睐.Mongo DB很好的实现了面向对象的思想(OO思想),在Mongo DB ...
- Linux下MongoDB服务安装
Linux下MongoDB服务安装 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案.MongoDB是一个介于关系数据库和非关系数据 ...
- MongoDB学习-安装流程
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. 支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型. ...
- mongodb(二) 安装和使用
mongodb的安装和使用 最近的项目需要使用到mongodb,从而开始熟悉nosql,有了本篇文章,记录和方便他人. mongodb的安装 下载地址:http://www.mongodb.org/d ...
- MongoDB的安装及配置
MongoDB 是目前在IT行业非常流行的一种非关系型数据库(NoSql),其灵活的数据存储方式备受当前IT从业人员的青睐. Windows (1). 登录Mongodb官网点击下载 (2). 将zi ...
- MongoDB的安装,配置与开机自启动
关于简介不多说百度去吧少年.. MongoDB详细安装: 1.进入官网,点击DOWNLOAD MONGODB,下载所需要的版本.. 我这里把下载的文件放在d\MongoDB文件夹下,点击下载的官方镜像 ...
- MongoDB(二)——安装配置了解
前边介绍了MongoDB的大概理论知识,这篇来对MongoDB进行一下安装使用,支持安装在windows和linux上,当然了很多其它情况下我们是安装在linux上,由于毕竟server用linux的 ...
- MongoDB本地安装与启用(windows )
MongoDB的安装与MongoDB服务配置 Mongo DB 是目前在IT行业非常流行的一种非关系型数据库(NoSql),其灵活的数据存储方式备受当前IT从业人员的青睐.Mongo DB很好的实现了 ...
随机推荐
- [2]Telerik Extensions for ASP.NET MVC 中文教程(2)
上一篇文章对Telerik MVC Extensions作了一个大概的介绍,这篇文章将介绍如何将Telerik MVC Extensions添加到项目中.有以下两种方式可以将Telerik MVC E ...
- C语言 函数理解(以数组做参数)
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> int run(int *p){ // ...
- C语言 常用的时间函数
//时间函数的使用 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #include& ...
- 使用js使某个按钮在5秒内不能重复点击
<head> <!--参考:http://illy.iteye.com/blog/1534276 --> <!-- http://y.dobit.top/Detail/1 ...
- ASP.NET中进行消息处理(MSMQ) 三
在本文的前两篇文章里对MSMQ的相关知识点进行了介绍,很多阅读过这前两篇文章的朋友都曾问到过这样一些问题: 1.如何把MSMQ应用到实际的项目中去呢? 2.可不可以介绍一个实际的应用实例? 3. ...
- ListView缓存机制踩过的坑
ListView,GrildView使用时候经常会用到缓存机制,随意一搜,例子成千上万,但是讲解都是很一致,跟自己踩的坑很少有人讲解到. 测试 需求: GrildView 分三列显示,默认背景为白色, ...
- Java系列:《Java核心技术 卷一》学习笔记,cchapter11 异常
11.1.1 异常分类 如果一个程序出现了RuntimeException,那么就一定是你的问题. 11.1.2 声明已检测异常 如果子类覆盖了父类的一个方法,那么子类方法中声明的检查 ...
- Python之socket(套接字)
Socket 一.概述 socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. ...
- WPF打印原理,自定义打印
一.基础知识 1.System.Printing命名空间 我们可以先看一下System.Printing命名空间,东西其实很多,功能也非常强大,可以说能够控制打印的每一个细节,曾经对PrintDial ...
- Scrum敏捷精要
本文抽取Scrum中的一些重要思想和概念,对Scrum敏捷执行的主题流程进行精要的介绍. 一.基本思想 个体和互动 高于 流程和工具 工作的软件 高于 详尽的文档 客户合作 ...