zoukankan      html  css  js  c++  java
  • Windows下安装配置MongoDB

    Windows下安装配置MongoDB

    一,介绍

    MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。

    MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

    二,安装配置

    当前数据库版本:Mongodb 4.0.5

    第一步:下载MongoDB

    第二步:安装MongoDB

    下载后双击该文件,按操作提示安装即可。但是安装过程中,你可以通过点击 "Custom(自定义)" 按钮来设置你的安装目录。

    第三步:创建数据库文件的存放位置

    在MongoDB下创建data,在data下再创建db:D:MongoDBdatadb

    因为启动mongodb服务之前需要必须创建数据库文件的存放文件夹,否则命令不会自动创建,而且不能启动成功。

    第四步:启动MongoDB服务

    进入D:MongoDBin目录(注意:先输入d:进入d盘,然后输入cd D:MongoDBin),然后输入如下的命令启动mongodb服务:mongod --dbpath D:MongoDBdatadb,如果出现以下界面,表示启动成功

    27017是mongodb的默认端口号

    参数            描述
    --bind_ip         绑定服务IP,若绑定127.0.0.1,则只能本机访问,不指定默认本地所有IP
    --logpath         定MongoDB日志文件,注意是指定文件不是目录
    --logappend         使用追加的方式写日志
    --dbpath          指定数据库路径
    --port            指定服务端口号,默认端口27017
    --serviceName          指定服务名称
    --serviceDisplayName   指定服务名称,有多个mongodb服务时执行。
    --install            指定作为一个Windows服务安装。

    第五步:配置MongoDB验证

    MongoDB 默认直接连接,无须身份验证,如果当前机器可以公网访问,且不注意Mongodb 端口(默认 27017)的开放状态,那么Mongodb就会产生安全风险,被利用此配置漏洞,入侵数据库。

    配置MongoDB验证,用于连接操作数据库,提高安全性

    1,管理员账户

    创建管理员账户

    1 use admin
    2 
    3 db.createUser(
    4   {
    5     user: "adminUser",
    6     pwd: "adminPass",
    7     roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
    8   }
    9 )

    如果出现如下界面,则表示创建成功

    验证用户

    1 use admin
    2 
    3 db.auth("adminUser", "adminPass")

    如果出现如下界面,则表示验证成功

    2,普通账户

    创建普通账户

    1 use jackson_YingQi
    2 
    3 db.createUser(
    4   {
    5     user: "myAdminUser",
    6     pwd: "myAdminPass",
    7     roles: [ { role: "readWrite", db: "jackson_YingQi" }]
    8   }
    9 )

     如果出现如下界面,则表示创建成功

    验证用户

    1 use jackson_YingQi
    2 
    3 db.auth("myAdminUser", "myAdminPass")

    如果返回1,表示验证成功

    三,安装配置可视化工具

       可视化工具还方便操作与查看

    第一步:下载Robo 3T

    第二步:安装Robo 3T

    一直点击下一步即可,可自定义安装路径

    第三步:配置创建连接

    1,打开Robo 3T ,点击“create”创建一个到mongoDB的连接。 

    2,给创建的连接新建一个名称,并填上数据库的ip和端口。默认是localhost

    3,连接成功之后,插入数据,编辑之后再保存就可以。 

     查看刚才插入的数据

    四,常用命令

    4.1,内置角色

    1. Read:允许用户读取指定数据库
    2. readWrite:允许用户读写指定数据库
    3. dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
    4. userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
    5. clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
    6. readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
    7. readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
    8. userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
    9. dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
    10. root:只在admin数据库中可用。超级账号,超级权限

    4.2,命令

    1. show dbs 显示全部的数据库
    2. use dbName(数据库名)进入数据库(若没有则是创建数据库)
    3. db 输出当前在哪个库
    4. show tables 查看表

    4.3,MongoDB数据类型

    $type操作符是基于BSON类型来检索集合中匹配的数据类型,并返回结果。

    TypeNumberAliasNotes
    Double 1 “double”  
    String 2 “string”  
    Object 3 “object”  
    Array 4 “array”  
    Binary data 5 “binData”  
    Undefined 6 “undefined” Deprecated.
    ObjectId 7 “objectId”  
    Boolean 8 “bool”  
    Date 9 “date”  
    Null 10 “null”  
    Regular Expression 11 “regex”  
    DBPointer 12 “dbPointer” Deprecated.
    JavaScript 13 “javascript”  
    Symbol 14 “symbol” Deprecated.
    JavaScript (with scope) 15 “javascriptWithScope”  
    32-bit integer 16 “int”  
    Timestamp 17 “timestamp”  
    64-bit integer 18 “long”  
    Decimal128 19 “decimal” New in version 3.4.
    Min key -1 “minKey”  
    Max key 127 “maxKey”
  • 相关阅读:
    org.apache.poi.ss.usermodel 类操作excel数据遗漏
    小强的HTML5移动开发之路(13)——HTML5中的全局属性
    小强的HTML5移动开发之路(12)——从一个多媒体标签说起
    我们是怎样将网站加载时间减少 24% 的?
    CSS书写位置
    彻底理解浏览器缓存机制
    css的repaint和reflow
    CSS Reset浏览器样式重置
    专业Web设计师应该避免的6个关键错误
    网站服务器的选择
  • 原文地址:https://www.cnblogs.com/jackson-yqj/p/10282048.html
Copyright © 2011-2022 走看看