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”
  • 相关阅读:
    OpenCascade Ray Tracing Rendering
    Create New Commands in Tcl
    OpenCascade Modeling Algorithms Fillets and Chamfers
    OpenCascade Modeling Algorithms Boolean Operations
    Construction of Primitives in Open Cascade
    Open Cascade Data Exchange STL
    Tcl Tk Introduction
    Open Cascade DataExchange IGES
    Netgen mesh library : nglib
    Hello Netgen
  • 原文地址:https://www.cnblogs.com/jackson-yqj/p/10282048.html
Copyright © 2011-2022 走看看