这几天在做一个简单的后台博客系统,数据库用到了 MongoDB ,虽说官方的文档比较全,但是对于我一个英语一般的人来说,或多或少在配置的时候出现了一些问题,总结了一下在安装及创建服务的过程
MongoDB 下载
首先当然是下载 MongoDB 了,这里是官网下载地址:
https://www.mongodb.com/download-center?jmp=nav#community
点击进入后会看到下载页面
image我是个人用户,所以我就选择下载社区服务版了,下载的版本里有3个版本,我电脑是win10的,就下载第一个
MongoDB 安装
下载完成后就是安装了,官方的安装文档提供了2种安装方式:
官方文档传送门: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows/
一种是通过直接点击下载的安装文件进行安装,另一种是通过命令提示符来安装,我是直接通过第一种方式安装的,打开软件
image安装很简单,直接下一步就可以了,安装过程中,你可以通过点击 "Custom(自定义)" 按钮来设置你的安装目录。
创建数据目录
MongoDB 将数据目录存储在 db 目录下。但是这个数据目录不会主动创建,我们在安装完成后需要创建它。请注意,数据目录应该放在根目录下((如: C:\ 或者 D:\ 等 )。
我默认在C:盘 安装了 mongodb,现在让我们创建一个 mongodb-data 的目录然后在 mongodb-data 目录里创建 db(数据库) 目录和 log(日志) 目录。
注:以下所有命令都请使用管理员身份打开命令窗口执行
cd c:\ //进入c盘根目录
mkdir mongodb-data //新建 mongodb-data 文件夹
cd mongodb-data //进入 mongodb-data 文件夹
mkdir db,log //分别创建 db(数据库) 文件夹,log(日志) 文件夹
当然也可以通过 windows 的资源管理器中创建这些目录,而不一定通过命令行。
创建后的目录结构
image使用命令来启动 MongoDB 服务器
我的 MongoDB 路径 C:\Program Files\MongoDB\ ,服务启动需 bin 目录下的 mongod.exe
'C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe' --dbpath C:\mongodb-data\db\
注: bin 目录下的文件对应不同的功能
mongod.exe -- MongoDB 的服务,通常用作启动服务用
mongo.exe -- MongoDB 的客户端,使用命令工具查询操作数据库
若执行成功,将输出如下信息
2017-04-07T11:41:25.512+0800 I CONTROL [initandlisten] MongoDB starting : pid=14208 port=27017 dbpath=C:\mongodb-
2017-04-07T11:41:25.513+0800 I CONTROL [initandlisten] targetMinOS: Windows 7/Windows Server 2008 R2 2017-04-07T11:41:25.514+0800 I CONTROL [initandlisten] db version v3.4.3
2017-04-07T11:41:25.514+0800 I CONTROL [initandlisten] git version: f07437fb5a6cca07c10bafa78365456eb1d6d5e1 2017-04-07T11:41:25.514+0800 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.1u-fips 22 Sep 2016
2017-04-07T11:41:25.514+0800 I CONTROL [initandlisten] allocator: tcmalloc 2017-04-07T11:41:25.515+0800 I CONTROL [initandlisten] modules: none 2017-04-07T11:41:25.515+0800 I CONTROL [initandlisten] build environment: 2017-04-07T11:41:25.515+0800 I CONTROL [initandlisten] distmod: 2008plus-ssl 2017-04-07T11:41:25.515+0800 I CONTROL [initandlisten] distarch: x86_64 2017-04-07T11:41:25.517+0800 I CONTROL [initandlisten] target_arch: x86_64 2017-04-07T11:41:25.518+0800 I CONTROL [initandlisten] options: { storage: { dbPath: "C:\mongodb-data\db\" } }
MongoDB服务启动成功后,运行 bin 目录下的 mongo.exe ,会看到如下信息
image此时 MongoDB 启动成功
创建 MongoDB 的 windows 服务
通过上面的方法启动了 MongoDB 服务后,会有一个问题,每次启动服务都得使用
'C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe' --dbpath C:\mongodb-data\db\
真的很不方便,于是我创建一个名为 mongodb 的 windows 服务,创建之前需要创建一个数据库的日志文件 mongodb.log ,使用命令窗口
cd C:\mongodb-data\log\ //进入日志目录
touch mongodb.log //创建日志文件
创建完日志文件后,可以使用如下命令创建服务:
'C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe' --bind_ip yourIPadress --logpath "C:\mongodb-data\log\mongodb.log" --logappend --dbpath "C:\mongodb-data\db" --port yourPortNumber --serviceName "YourServiceName" --serviceDisplayName "YourServiceName" --install
参数说明:
--bind_ip: 绑定服务IP,若绑定127.0.0.1,则只能本机访问,不指定默认本地所有IP
--logpath: 定MongoDB日志文件,注意是指定文件不是目录
--logappend: 使用追加的方式写日志
--dbpath: 指定数据库路径
--port: 指定服务端口号,默认端口27017
--serviceName: 指定服务名称
--serviceDisplayName: 指定服务名称,有多个mongodb服务时执行。
--install: 指定作为一个Windows服务安装。
我使用下面的命令创建服务,我的服务名为 mongodb (注意是小写,方便每次启动服务的时候输入服务名)
e:
cd E:\MongoDB\Server\3.6\bin
mongod.exe --bind_ip 0.0.0.0 --logpath "E:\MongoDB\data\log\mongodb.log" --logappend --dbpath "E:\MongoDB\data\db" --port 27017 --serviceName "mongodbServer" --serviceDisplayName "local mongodbServer" --install
创建成功后,启动 MongoDB 服务,服务启动后,命令窗口可以关闭
net start mongodbServer //启动 MongoDB 服务
net stop mongodbServer //停止 MongoDB 服务
image
如需停止服务,可以使用 stop 命令来停止
image由于我们已经制定了日志文件路径,所以在启动 MongoDB 服务的时候,不会在命令窗口中显示记录,如需查看 MongoDB 的日志,访问 C:\mongodb-data\log\mongodb.log 即可查看
至此, MongoDB 的安装基本完成
MongoDB 环境变量的设置
如果有时候我们需要在命令窗口中或是直接在 windows 的运行中执行 mongodb ,我们可以配置环境变量
在桌面 "我的电脑" 单击鼠标右键,打开属性,在系统界面选择 "高级系统设置"
image进入"环境变量"
image在 "系统变量" 中,选择 "Path",然后点击下方的 "编辑"
image在 "编辑环境变量" 窗口中,点击新建,在最下面填入本地 MongoDB 的包含 bin 路径,点击确定
image配置好环境变量后,可以直接在运行窗口执行 MongoDB 客户端,也可以在命令窗口中执行 mongo
image image执行成功
image到这里,基本上 windows 下的 MongoDB 安装完成,至于常用的命令,后续我也会陆续更新
对我来说,工作是最大的娱乐,是它让我接触到很多用钱没法直接买到的体验.工作是不是有意思,绝对成为我选择一份职业的唯一标准.
网友评论