阅读(1671) (0)

window平台安装MongoDB

2015-09-18 11:48:34 更新

MongoDB 下载

MongoDB 提供了可用于 32 位和 64 位系统的预编译二进制包,你可以从 MongoDB 官网下载安装,MongoDB 预编译二进制包。

下载地址:https://www.mongodb.com/try/download/community

 注意:在 MongoDB 2.2 版本后已经不再支持 Windows XP 系统。最新版本也已经没有了 32 位系统的安装文件。


 注意,接下来介绍的是选择zip格式的包,如果选择msi格式的包要遵循msi的安装方式(直接双击运行即可)。


解压安装包

下载zip包后,解压安装包,并安装它。

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



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

微信截图_20200616135217

在安装的时候可以选择将MongoDB配置为Windows服务并启动。

MongoDB 安装程序向导的图像 - 服务配置。

在这个页面中,你可以选择:

选择Install MongoD as a service ,可以将MongoDB 安装为服务(安装为服务可以使用Windows服务来进行自启动,更加方便,只有选择安装为服务才可以进行下面的配置)

  • Run service as Network Service user ,即以网络服务用户身份运行服务(默认)
    这是 Windows 内置的 Windows 用户帐户
  • Run Service as a local or domain user, 即以本地或域用户身份运行服务

    对于现有的本地用户帐户,为帐户域指定一个句点(即 .,上图即为该情况)并为用户指定帐户名称和帐户密码。

    对于现有域用户,指定该用户的帐户域、帐户名称和帐户密码。

  • Service Name 即服务名称。指定服务名称。默认名称是 MongoDB。如果您已有具有指定名称的服务,则必须选择其他名称。
  • Data Directory 即数据目录。指定数据目录,对应​--dbpath​。如果目录不存在,安装程序将创建目录并将目录访问权限设置给服务用户。
  • Log Directory 即日志目录。指定Log目录,对应--logpath​。如果目录不存在,安装程序将创建目录并将目录访问权限设置给服务用户。

选择完毕后点击next就可以看到install按钮,点击install就可以开始安装了。


创建数据目录(上一步没有创建为Windows服务的情况)

MongoDB 将数据目录存储在 db 目录下。但是这个数据目录不会主动创建,我们在安装完成后需要创建它。请注意,数据目录应该创建在根目录下((如: C:\ 或者 D:\ 等 )。

在本教程中,我们已经在 D盘中解压了 mongodb 文件,现在让我们创建一个 data 的目录然后在 data 目录里创建db目录。

d:\>cd d:\
d:\>mkdir data
d:\>cd data
d:\data>mkdir db
d:\data>cd db
d:\data\db>

你也可以通过 window 的资源管理器中创建这些目录,不一定需要通过命令行来创建。


命令行下运行 MongoDB 服务器

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

D://mongodb\bin\mongod --dbpath d:\data\db

如果执行成功,会输出如下信息:

2015-09-25T15:54:09.212+0800 I CONTROL  Hotfix KB2731284 or later update is not
installed, will zero-out data files
2015-09-25T15:54:09.229+0800 I JOURNAL  [initandlisten] journal dir=c:\data\db\j
ournal
2015-09-25T15:54:09.237+0800 I JOURNAL  [initandlisten] recover : no journal fil
es present, no recovery needed
2015-09-25T15:54:09.290+0800 I JOURNAL  [durability] Durability thread started
2015-09-25T15:54:09.294+0800 I CONTROL  [initandlisten] MongoDB starting : pid=2
488 port=27017 dbpath=c:\data\db 64-bit host=WIN-1VONBJOCE88
2015-09-25T15:54:09.296+0800 I CONTROL  [initandlisten] targetMinOS: Windows 7/W
indows Server 2008 R2
2015-09-25T15:54:09.298+0800 I CONTROL  [initandlisten] db version v3.0.6
……

连接MongoDB

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

D:\mongodb\bin\>mongo.exe​

配置 MongoDB 服务

注意:一些新版本的 MongoDB 安装时已经自行完成大部分配置,如果以下目录已经存在,你可以直接跳过这部分内容。

管理员模式打开命令行窗口

创建目录,执行下面的语句来创建数据库和日志文件的目录

​mkdir D:\data\db 
mkdir D:\data\log​

创建配置文件

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

例如,创建一个配置文件位于 C:\mongodb\mongod.cfg,其中指定 systemLog.pathstorage.dbPath。具体配置内容如下:

systemLog:
    destination: file
    path: c:\data\log\mongod.log
storage:
    dbPath: c:\data\db

安装 MongoDB服务

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

C:\mongodb\bin\mongod.exe --config "C:\mongodb\mongod.cfg" --install

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

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

启动 MongoDB 服务

net start MongoDB

关闭 MongoDB 服务

net stop MongoDB

移除 MongoDB 服务

D:\mongodb\bin\mongod.exe --remove
命令行下运行 MongoDB 服务器 和 配置 MongoDB 服务 任选一个方式启动就可以。任选一个操作就好

MongoDB 后台管理 Shell

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

 如果找不到mongo.exe文件,那是因为该版本没有自带MongoDB shell,可以前往MongoDB 没有mongo.exe怎么办?_zijiebao解决该问题!

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

> mongo
MongoDB shell version: 3.0.6
connecting to: test
……

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

test> 2 + 2
4
test>

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

test> db
test
test>

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

test> db.zijiebao.insert({x:10})

{

  acknowledged: true,

  insertedIds: { '0': ObjectId("63196826c529a01f4ac522a2") }

}

test>db.zijiebao.find()

[ { _id: ObjectId("63196826c529a01f4ac522a2"), x: 10 } ]

test>

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

第二个命令查询zijiebao集合的所有内容。