windows 下 MongoDB 的安装与配置

本贴最后更新于 1954 天前,其中的信息可能已经水流花落

一、MongoDB 简介:

MongoDB 是由 C++ 语言编写的,是一个开源的,基于分布式的,面向文档存储的非关系型数据库。是非关系型数据库当中功能最丰富、最像关系数据库的。
MongoDB 旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。
MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

选择 MongoDB 的原因:

  1. 无数据结构限制
    a. 没有表结构的概念,每条记录可以有完全不同的结构。
    b. 业务开发方便快捷。
    c. Sql 数据库需要事先定义表结构再使用。
  2. 完全的索引支持
    a. Redis 的 key-value
    b. Hbase 的单索引,二级索引需要自己实现。
    c. MongoDB 的索引包含:单键索引,多键索引,全文索引,地理位置索引
  3. 方便的冗余与扩展
    a. 复制集保证数据安全。
    b. 分片扩展数据规模。

二、MongoDB 的安装与配置

2.1 下载安装包

下载地址:http://dl.mongodb.org/dl/win32/x86_64
本文下载的是 mongodb-win32-x86_64-2008plus-ssl-3.6.1.zip
假设将压缩包解压后的文件夹移动到 E:\mongodb\mongo-3.6.1

2.2 创建相关文件

创建数据库路径(data 目录)、日志路径(logs 目录),如下图:

ce45e29a4bf14999ae2123554e72670d-image.png

创建并编辑 mongodb 的配置文件配置文件 mongo.conf


#数据库路径 
dbpath=E:\mongodb\mongo-3.6.1\data
#日志输出文件路径 
logpath=E:\mongodb\mongo-3.6.1\logs\mongo.log
#错误日志采用追加模式 
logappend=true 
#启用日志文件,默认启用 
journal=true 
#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false 
quiet=true 
#端口号 默认为27017 
port=27017
#开启用户认证
#auth=true

将其中的相关路径改为自己安装 mongodb 的路径即可。

2.3 启动 MongoDB

在 E:\mongodb\mongo-3.6.1\bin 目录下,使用 cmd 命令行窗口执行:

mongod –config “E:\mongodb\mongo-3.6.1\mongo.conf”

即可启动 mongoDB
在当前目录下另外启动一个命令行窗口,执行命令 mongo,如出现下图:

fc9d68abe8064ab19b66bb7d97dada0b-image.png

则表示安装成功。图中警告信息是由于用户认证 auth 未开启导致的,之后会对 mongo 的用户,角色,权限做相关介绍。

2.4 将 mongoDB 注册为服务

在 E:\mongodb\mongo-3.6.1\bin 目录下,使用 cmd 命令行窗口执行:

mongod –config “E:\mongodb\mongo-3.6.1\mongo.conf”  --install --serviceName "MongoDB"

即可将 mongoDB 注册为服务,服务名为 MongoDB
启动 MongoDB 服务:

net start MongoDB  

三、MongoDB 安全

3.1 简述

  1. 最安全的是物理隔离:不现实
  2. 网络隔离其次
  3. 防火墙再其次
  4. 用户名密码在最后
    a. auth 开启
    mongo.conf 中添加 auth=true,重启 MongoDB 服务
    b. keyfile 开启

3.2 用户角色

常用角色类型:
Read(可读),readWrite(可读可写),dbAdmin(对数据库的管理权限),dbOwner(前三者的集合体),userAdmin(对用户角色进行管理)

创建用户语法:

db.createUser({
	user: “”, #用户名
	pwd: “”,  #密码
	customData: “”, #用户信息,此项可空
	roles: [{role: “”, db: “”}] #角色列表信息
})

例:

db.createUser({user:”ldk”, pwd:”ldk”, roles:[{role:”userAdmin”, db:”admin”}, {role:”readWrite”, db:”test”}]})

使用账号密码登陆命令:

mongo -u 用户名 –p 密码
  • MongoDB

    MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是一个基于分布式文件存储的数据库,由 C++ 语言编写。旨在为应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 JSON 的 BSON 格式,因此可以存储比较复杂的数据类型。

    90 引用 • 59 回帖 • 2 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...