免费ui网站,美橙网站设计,网站站长是什么意思,营销型企业网站优化介绍与安装部署 1.MongoDB简介a) 体系结构b) 数据模型c) MongoDB的特点c.1) 高性能c.2) 高性可用性c.3) 高拓展性c.4) 丰富的查询支持 2.单机部署a) Windows系统中的安装启动b) Shell连接(mongo命令)c) Linux系统中的安装启动和连接 1.MongoDB简介
MongoDB是一个开源、高性能、… 介绍与安装部署 1.MongoDB简介a) 体系结构b) 数据模型c) MongoDB的特点c.1) 高性能c.2) 高性可用性c.3) 高拓展性c.4) 丰富的查询支持 2.单机部署a) Windows系统中的安装启动b) Shell连接(mongo命令)c) Linux系统中的安装启动和连接 1.MongoDB简介
MongoDB是一个开源、高性能、无模式的文档型数据库当初的设计就是用于简化开发和方便扩展是NoSQL数据库产品中的一种。是最像关系型数据库MySQL的非关系型数据库。
它支持的数据结构非常松散是一种类似于 JSON 的 格式叫BSON所以它既可以存储比较复杂的数据类型又相当的灵活。
MongoDB中的记录是一个文档它是一个由字段和值对field:value组成的数据结构。MongoDB文档类似于JSON对象即一个文档认为就是一个对象。字段的数据类型是字符型它的值除了使用基本的一些类型外还可以包括其他文档、普通数组和文档数组。
a) 体系结构
MySQL和MongoDB对比 SQL术语/概念MongoDB术语/概念解释/说明databasedatabase数据库tablecollection数据库表/集合rowdocument数据记录行/文档columnfield数据字段/域indexindex索引table joins表连接,MongoDB不支持嵌入文档MongoDB通过嵌入式文档来替代多表连接primary keyprimary key主键,MongoDB自动将_id字段设置为主键
b) 数据模型
MongoDB的最小存储单位就是文档(document)对象。文档(document)对象对应于关系型数据库的行。数据在MongoDB中以BSONBinary-JSON文档的格式存储在磁盘上。
BSONBinary Serialized Document Format是一种类json的一种二进制形式的存储格式简称Binary JSON。BSON和JSON一样支持内嵌的文档对象和数组对象但是BSON有JSON没有的一些数据类型如Date和BinData类型。
BSON采用了类似于 C 语言结构体的名称、对表示方法支持内嵌的文档对象和数组对象具有轻量性、可遍历性、高效性的三个特点可以有效描述非结构化数据和结构化数据。这种格式的优点是灵活性高但它的缺点是空间利用率不是很理想。
Bson中除了基本的JSON类型string,integer,boolean,double,null,array和objectmongo还使用了特殊的数据类型。这些类型包括date,object id,binary data,regular expression 和code。每一个驱动都以特定语言的方式实现了这些类型查看你的驱动的文档来获取详细信息。
BSON数据类型参考列表
数据类型描述举例字符串UTF-8字符串都可表示为字符串类型的数据{“x” : “foobar”}对象id对象id是文档的12字节的唯一 ID{“X” :ObjectId()}布尔值真或者假true或者false{“x”:true}数组值的集合或者列表可以表示成数组{“x” [“a”, “b”, “c”]}32位整数类型不可用。JavaScript仅支持64位浮点数所以32位整数会被自动转换shell是不支持该类型的shell中默认会转换成64位浮点数64位整数不支持这个类型。shell会使用一个特殊的内嵌文档来显示64位整数shell是不支持该类型的shell中默认会转换成64位浮点数64位浮点数shell中的数字就是这一种类型{“x”3.14159“y”3}null表示空值或者未定义的对象{“x”:null}undefined文档中也可以使用未定义类型{“x”:undefined}符号shell不支持shell会将数据库中的符号类型的数据自动转换成字符串正则表达式文档中可以包含正则表达式采用JavaScript的正则表达式语法{“x” /foobar/i}代码文档中还可以包含JavaScript代码{“x” function() { /* …… */ }}二进制数据二进制数据可以由任意字节的串组成不过shell中无法使用最大值/最小智BSON包括一个特殊类型表示可能的最大值。shell中没有这个类型
c) MongoDB的特点
MongoDB主要有如下特点
c.1) 高性能
MongoDB提供高性能的数据持久性。特别是,对嵌入式数据模型的支持减少了数据库系统上的I/O活动。索引支持更快的查询并且可以包含来自嵌入式文档和数组的键。
c.2) 高性可用性
MongoDB的复制工具称为副本集replica set它可提供自动故障转移和数据冗余。
c.3) 高拓展性
MongoDB提供了水平可扩展性作为其核心功能的一部分。
分片将数据分布在一组集群的机器上。海量数据存储服务能力水平扩展
从3.4开始MongoDB支持基于片键创建数据区域。在一个平衡的集群中MongoDB将一个区域所覆盖的读写只定向到该区域内的那些
片。
c.4) 丰富的查询支持
MongoDB支持丰富的查询语言支持读和写操作(CRUD)比如数据聚合、文本搜索和地理空间查询等。
2.单机部署
a) Windows系统中的安装启动
方式1命令行参数方式启动服务
在 bin 目录中打开命令行提示符输入如下命令
mongod --dbpath..\data\db我们在启动信息中可以看到mongoDB的默认端口是27017如果我们想改变默认的启动端口可以通过–port来指定端口。
为了方便我们每次启动可以将安装目录的bin目录设置到环境变量的path中 bin 目录下是一些常用命令比如 mongod 启动服务用的mongo 客户端连接服务用的。
方式2配置文件方式启动服务
在解压目录中新建 config 文件夹该文件夹中新建配置文件 mongod.conf 内如参考如下
storage:#The directory where the mongod instance stores its data.Default Value is \data\db on Windows.dbPath: D:\02_Server\DBServer\mongodb-win32-x86_64-2008plus-ssl-4.0.1\data【注意】
1配置文件中如果使用双引号比如路径地址自动会将双引号的内容转义。如果不转义则会报错
error-parsing-yaml-config-file-yaml-cpp-error-at-line-3-column-15-unknown-escape-character-d解决
a. 对 \ 换成 / 或 \
b. 如果路径中没有空格则无需加引号。
2配置文件中不能以Tab分割字段
解决
将其转换成空格。
启动方式
mongod -f ../conf/mongod.conf
或
mongod --conf ../config/mongod.conf更多参数配置
systemLog:destination: file#The path of the log file to which mongod or mongos should send all diagnostic logging informationpath: D:/02_Server/DBServer/mongodb-win32-x86_64-2008plus-ssl-4.0.1/log/mongod.loglogAppend: true
storage:journal:enabled: true#The directory where the mongod instance stores its data.Default Value is /data/db.dbPath: D:/02_Server/DBServer/mongodb-win32-x86_64-2008plus-ssl-4.0.1/data
net:#bindIp: 127.0.0.1port: 27017
setParameter:enableLocalhostAuthBypass: falseb) Shell连接(mongo命令)
在命令提示符输入以下shell命令即可完成登陆
mongo
或
mongo --host127.0.0.1 --port27017查看已经有的数据库
show dbsc) Linux系统中的安装启动和连接
1.下载/上传到Linux/解压到指定目录
2.新建几个目录分别用来存储数据和日志
#数据存储目录
mkdir -p /mongodb/single/data/db
#日志存储目录
mkdir -p /mongodb/single/log3.新建并修改配置文件
vi /mongodb/single/mongod.conf配置文件的内容如下
systemLog:#MongoDB发送所有日志输出的目标指定为文件# #The path of the log file to which mongod or mongos should send all diagnostic logging informationdestination: file#mongod或mongos应向其发送所有诊断日志记录信息的日志文件的路径path: /mongodb/single/log/mongod.log#当mongos或mongod实例重新启动时mongos或mongod会将新条目附加到现有日志文件的末尾。logAppend: true
storage:#mongod实例存储其数据的目录。storage.dbPath设置仅适用于mongod。##The directory where the mongod instance stores its data.Default Value is /data/db.dbPath: /mongodb/single/data/dbjournal:#启用或禁用持久性日志以确保数据文件保持有效和可恢复。enabled: true
processManagement:#启用在后台运行mongos或mongod进程的守护进程模式。fork: true
net:#服务实例绑定的IP默认是localhostbindIp: localhost,192.168.0.2#bindIp#绑定的端口默认是27017port: 270174.启动MongoDB服务
[rootbobohost single]# /usr/local/mongodb/bin/mongod -f /mongodb/single/mongod.conf
about to fork child process, waiting until server is ready for connections.
forked process: 90384
child process started successfully, parent exiting注意
如果启动后不是 successfully 则是启动失败了。原因基本上就是配置文件有问题。
【补充】
8停止关闭服务
停止服务的方式有两种快速关闭和标准关闭下面依次说明
**一**快速关闭方法快速简单数据可能会出错
目标通过系统的kill命令直接杀死进程
如果一旦是因为数据损坏则需要进行如下操作了解
1删除lock文件
rm -f /mongodb/single/data/db/*.lock2修复数据
/usr/local/mongdb/bin/mongod --repair --dbpath/mongodb/single/data/db**二**标准的关闭方法数据不容易出错但麻烦
目标通过mongo客户端中的shutdownServer命令来关闭服务
主要的操作步骤参考如下
//客户端登录服务注意这里通过localhost登录如果需要远程登录必须先登录认证才行。
mongo --port 27017
//#切换到admin库
use admin
//关闭服务
db.shutdownServer()