(一)Mongodb的下载与安装

摘要:
下一步安装"installmongoDBcompass"不勾选,MongoDBCompass是一个图形界面管理工具,我们可以在后面自己到官网下载安装,下载地址:https://www.mongodb.com/download-center/compass。创建数据目录MongoDB将数据目录存储在db目录下。例如,创建一个配置文件位于D:\Sql\MongoDB\Server\3.6\mongod.cfg其中指定systemLog.path和storage.dbPath。mongod--dbpath=安装路径\data\db--logpath=安装路径\data\log\mongodb.log--install--serviceName"MongoDB"netstartMongoDBMongoDB服务正在启动.MongoDB服务无法启动。任选一个操作就好六、MongoDB后台管理Shell如果你需要进入MongoDB后台管理,你需要先打开mongodb装目录的下的bin目录,然后执行mongo.exe文件,MongoDBShell是MongoDB自带的交互式Javascriptshell,用来对MongoDB进行操作和管理的交互式环境。

一、MongoDB的下载:

MongoDB的官网是:http://www.mongodb.org/

MongoDB 预编译二进制包下载地址:https://www.mongodb.com/download-center/community

(一)Mongodb的下载与安装第1张

可以在官网下载,但是我试了一下特别麻烦,所有找了一个简单的方法,可以在这个地址直接下载zip,http://dl.mongodb.org/dl/win32/x86_64

4以上的版本有公钥密钥的问题,所以下载4以下的版本

二、MongoDB的安装

Windows系统 目前选择win32/mongodb-win32-x86_64-2008plus-ssl-v3.6-latest-signed.msi

下载 .msi 文件,下载后双击该文件,按操作提示安装即可。

安装过程中,你可以通过点击 "Custom(自定义)" 按钮来设置你的安装目录。

(一)Mongodb的下载与安装第2张

(一)Mongodb的下载与安装第3张

下一步安装"install mongoDB compass"不勾选(当然你也可以选择安装它,可能需要更久的安装时间),MongoDB Compass 是一个图形界面管理工具,我们可以在后面自己到官网下载安装,下载地址:https://www.mongodb.com/download-center/compass

(一)Mongodb的下载与安装第4张

创建数据目录

MongoDB 将数据目录存储在 db 目录下。但是这个数据目录不会主动创建,我们在安装完成后需要创建它。

可以用命令行创建如下

cd D:\Sql\MongoDB\Server\3.6
md "\data\db"

也可以直接在资源管理器windows下直接创建文件夹

在D:\Sql\MongoDB\Server\3.6下,然后分别建立db,log两个文件夹,至此mongodb下有以下文件夹,

D:\Sql\MongoDB\Server\3.6\bin 
D:\Sql\MongoDB\Server\3.6\data\db 
D:\Sql\MongoDB\Server\3.6\data\log

三、命令行下运行 MongoDB 服务器(启动方式1)

为了从命令提示符下运行 MongoDB 服务器,你必须从 MongoDB 目录的 bin 目录中执行

【问题】

mongod : 无法将“mongod”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。

【解决】

【必须管理员的模式】打开CMD

PS D:\Sql\MongoDB\Server\3.6\bin> mongod --dbpath D:\Sql\MongoDB\Server\3.6\data\db 

(一)Mongodb的下载与安装第5张

表示在27017端口启动成功,浏览器打开http://localhost:27017/显示如下

(一)Mongodb的下载与安装第6张

注意:

mongod --dbpath 命令是创建数据库文件的存放位置,启动mongodb服务时需要先确定数据库文件存放的位置,否则系统不会自动创建,启动会不成功。

mongod--logpath 表示日志文件存放的路径 --logappend 表示以追加的方式写日志文件

在 " bin/mongod.cfg " 文件中也会有dbPath 和 logPath的配置

另外:

在 bin目录下的 mongod.exe文件,双击会闪出,就是因为没有执行上面的mongod --dbpath 命令

在 bin目录下的 mongo.exe文件,双击来打开 MongoDB 客户端,进行数据库操作

四、本地客户端连接刚刚搭建的MongoDB服务器

mongo 命令 是连接数据库服务,即连接服务器,可以通过端口进行访问(27017)

我们可以在命令窗口中运行 mongo.exe 命令即可连接上 MongoDB

【问题】

Error: couldn't connect to server 127.0.0.1

【解决】

连接MongoDB之前一定要先执行第三步 命令行运行【MongoDB服务器先启动】,本地才能连接到服务器

(一)Mongodb的下载与安装第7张

创建配置文件

创建一个配置文件。该文件必须设置 systemLog.path 参数,包括一些附加的配置选项更好。

例如,创建一个配置文件位于

D:\Sql\MongoDB\Server\3.6\mongod.cfg

其中指定 systemLog.path 和 storage.dbPath。具体配置内容如下:

systemLog:
    destination: file
    path: D:\Sql\MongoDB\Server\3.6\data\log\mongod.log
storage:
    dbPath: D:\Sql\MongoDB\Server\3.6\data\db

五、安装 MongoDB服务并启动(启动方式2)

通过执行mongod.exe,使用--install选项来安装服务,使用--config选项来指定之前创建的配置文件。

D:\Sql\MongoDB\Server\3.6\bin\mongod.exe --config "D:\Sql\MongoDB\Server\3.6\mongod.cfg" --install

要使用备用 dbpath,可以在配置文件(例如:D:\Sql\MongoDB\Server\3.6\mongod.cfg)或命令行中通过 --dbpath 选项指定。

如果需要,您可以安装 mongod.exemongos.exe的多个实例的服务。只需要通过使用 --serviceName 和 --serviceDisplayName 指定不同的实例名。只有当存在足够的系统资源和系统的设计需要这么做。

mongod --dbpath=安装路径\data\db  --logpath=安装路径\data\log\mongodb.log --install --serviceName "MongoDB"

【问题】

net start MongoDB
MongoDB 服务正在启动 .
MongoDB 服务无法启动。

发生服务特定错误: 100.

【原因1】因为前面的mongod已经启动

【解决1】关掉mongod进程

【原因2】没有正常关闭mongod服务,导致mongod被锁

【解决2】进入db文件夹,删除mongod.lock和storage.bson文件,然后重新启动服务即可,

(一)Mongodb的下载与安装第8张

【结果】

(一)Mongodb的下载与安装第9张

启动MongoDB服务

net start MongoDB

关闭MongoDB服务

net stop MongoDB

移除 MongoDB 服务

D:\Sql\MongoDB\Server\3.6\bin\mongod.exe --remove

命令行下运行 MongoDB 服务器配置 MongoDB 服务任选一个方式启动就可以。

任选一个操作就好


六、MongoDB 后台管理 Shell

如果你需要进入MongoDB后台管理,你需要先打开mongodb装目录的下的bin目录,然后执行mongo.exe文件,MongoDB Shell是MongoDB自带的交互式Javascript shell,用来对MongoDB进行操作和管理的交互式环境。

当你进入mongoDB后台后,它默认会链接到 test 文档(数据库):

D:\Sql\MongoDB\Server\3.6\bin>mongo
MongoDB shell version v3.6.23-8-gc2609ed3ed
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("7c838f33-6a05-4894-827d-76713c404e4e") }
MongoDB server version: 3.6.23-8-gc2609ed3ed

由于它是一个JavaScript shell,您可以运行一些简单的算术运算:

>2+24>

db命令用于查看当前操作的文档(数据库):

>db
test
>

插入一些简单的记录并查找它:

>db.runoob.insert({x:10})WriteResult({"nInserted":1})>db.runoob.find(){"_id":ObjectId("5604ff74a274a611b0c990aa"),"x":10}>

第一个命令将数字 10 插入到 runoob 集合的 x 字段中。

(一)Mongodb的下载与安装第10张

七、操作数据库

到这一步数据库已经成功跑起来了,接下来就是操作一些命令向数据库里面插入数据等并且可以看到自己对数据库的一系列操作的结果了

db.stats()命令将显示数据库名称,数据库中的集合和文档数量

>db.stats()
{
        "db" : "test",
        "collections" : 1,
        "views" : 0,
        "objects" : 1,
        "avgObjSize" : 33,
        "dataSize" : 33,
        "storageSize" : 16384,
        "numExtents" : 0,
        "indexes" : 1,
        "indexSize" : 16384,
        "fsUsedSize" : 15998328832,
        "fsTotalSize" : 43689963520,
        "ok" : 1}

db.help()将列出一个命令列表

>db.help()
DB methods:
        db.adminCommand(nameOrDocument) - switches to 'admin'db, and runs command [just calls db.runCommand(...)]
        db.aggregate([pipeline], {options}) - performs a collectionless aggregation on thisdatabase; returns a cursor
        db.auth(username, password)
        db.cloneDatabase(fromhost) -deprecated
        db.commandHelp(name) returns the help forthe command
        db.copyDatabase(fromdb, todb, fromhost) -deprecated
        db.createCollection(name, {size: ..., capped: ..., max: ...})
        db.createView(name, viewOn, [{$operator: {...}}, ...], {viewOptions})
        db.createUser(userDocument)
        db.currentOp() displays currently executing operations inthe db
        db.dropDatabase()
        db.eval() -deprecated
        db.fsyncLock() flush data to disk and lock server forbackups
        db.fsyncUnlock() unlocks server following a db.fsyncLock()
        db.getCollection(cname) same as db['cname'] or db.cname
        db.getCollectionInfos([filter]) - returns a list that contains the names and options of the db's collections
db.getCollectionNames()
        db.getLastError() - just returns the err msg stringdb.getLastErrorObj() - return full status objectdb.getLogComponents()
        db.getMongo() get the server connection objectdb.getMongo().setSlaveOk() allow queries on a replication slave server
        db.getName()
        db.getPrevError()
        db.getProfilingLevel() -deprecated
        db.getProfilingStatus() - returns if profiling ison and slow threshold
        db.getReplicationInfo()
        db.getSiblingDB(name) get the db at the same server as thisone
        db.getWriteConcern() - returns the write concern used for any operations on this db, inherited from server object if setdb.hostInfo() get details about the server's host
db.isMaster() check replica primary status
        db.killOp(opid) kills the current operation inthe db
        db.listCommands() lists all the db commands
        db.loadServerScripts() loads all the scripts indb.system.js
        db.logout()
        db.printCollectionStats()
        db.printReplicationInfo()
        db.printShardingStatus()
        db.printSlaveReplicationInfo()
        db.dropUser(username)
        db.repairDatabase()
        db.resetError()
        db.runCommand(cmdObj) run a database command.  if cmdObj is a string, turns it into {cmdObj: 1}
        db.serverStatus()
        db.setLogLevel(level,<component>)
        db.setProfilingLevel(level,slowms) 0=off 1=slow 2=all
        db.setWriteConcern(<write concern doc>) - sets the write concern forwrites to the db
        db.unsetWriteConcern(<write concern doc>) - unsets the write concern forwrites to the db
        db.setVerboseShell(flag) display extra information inshell output
        db.shutdownServer()
        db.stats()
        db.version() current version of the server
>

八、mongod和mogo的区别

1. 注意 mongod 和 mongo 的区别

前者是启用MongoDB进程(服务端),后者是对MongoDB进行连接操作(客户端)

2. 执行 mongod 需要 配置路径 进行启用,单纯的双击 mongod.exe文件会闪出,正确的是执行mongod --dbpath 命令

3. 在执行mongod命令启用MongoDB进程(服务器)的基础上,再使用mongo 对其进行连接操作,

九、几个概念

来源MongoDB面试题问题以及参考答案

8.什么是”mongod“
mongod是处理MongoDB系统的主要进程。它处理数据请求,管理数据存储,和执行后台管理操作。当我们运行mongod命令意味着正在启动MongoDB进程,并且在后台运行。

9."mongod"参数有什么
传递数据库存储路径,默认是"/data/db"
端口号 默认是 "27017"
10.什么是"mongo"
它是一个命令行工具用于连接一个特定的mongod实例。当我们没有带参数运行mongo命令它将使用默认的端口号和localhost连接

免责声明:文章转载自《(一)Mongodb的下载与安装》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇erioffice办公 | onenote2016使用教程(1)-onenote下载,安装下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

java拾遗5----Java操作Mongo入门

Java操作Mongo入门 参考:http://api.mongodb.com/java/3.2/http://www.runoob.com/mongodb/mongodb-java.htmlhttps://docs.mongodb.com/manual/ 1.dependency <dependency> <gr...

快速抽取Oracle数据到Mongo

以下是本人从oralce抽取数据到Mongol的方法,也没来得及整理,基本使用方法都是复制其他博主的,希望对大家有用。 step1 利用sqluldr2快速导出CSV格式数据 Oracle使用sqluldr2原创乘风晓栈 最后发布于2018-11-01 15:55:01 阅读数 9260 收藏展开分三部分: 1 . sqluldr2简介与使用 2 . sq...

CentOS安装

目前,我们安装Linux操作系统的主要目的是为了更好地了解和学习它。如果条件允许,最好把Linux操作系统安装在一台PC机上;如果条件不允许也没有关系,阿铭会教你使用虚拟机来安装Linux操作系统。 大多数读者朋友比较习惯使用Windows操作系统,所以建议你使用虚拟机来学习Linux。阿铭相信,如果在Windows系统里安装一个虚拟机,然后在虚拟机上安装...

MongoDB高级查询详细

前言前几篇,老玩家绕道即可,新手晚上闲着也是蛋疼,不如把命令敲一边,这样你就会对MongoDB有一定的掌握啦。如果没有安装MongoDB去看我的上一篇博客  MongoDB下载安装与简单增删改查  前奏:启动mongdb数据库服务,并进入shell界面 > cmd > cd C:Program FilesMongoDBin  --进入mongd...

在CentOS上安装和配置Guacamole

一、环境说明 操作系统:CentOS 6.4 x86_64 主机IP:192.168.38.20 登录账户:root 二、安装编译和运行环境 1. 关闭防火墙 在Shell中运行以下命令: chkconfig iptables off service iptables stop 2. 修改SELinux运行模式 在Shell中运行以下命令: se...

(转)使程序在Linux下后台运行 (关掉终端继续让程序运行的方法)

你是否遇到过这样的情况:从终端软件登录远程的Linux主机,将一堆很大的文件压缩为一个.tar.gz文件,连续压缩了半个小时还没有完成,这时,突然你断网了,你登录不上远程Linux主机了,那么前面的半个小时就会前功尽弃,你非常气愤…… 在Linux下,如果你要执行的shell命令耗时特别长,并且:(1)你的网络不稳定,随时可能断网;或者(2)你在执行了sh...