本文转载自蘑菇房

Docker下部署MongoDB非常方便,但windows总会有各种情况。最糟糕的情况是,既要用虚拟机也想用Docker。

这个是什么情况,Docker需要windows的一个虚拟服务Hyper-V,而VirtualBox不能使用这个服务。

工作原因VirtualBox是必须的,只能舍弃Docker。

安装:

  1. 下载MongoDB
  2. 安装DB,运行
  3. 安装服务

部署环境:

  • windows 10
  • MongoDB 4.0.4 (current release)

下载MongoDB

直接到MongoDB官网下载,

官网: https://www.mongodb.com/download

直接选择需要的版本,下载ZIP安装包。可以直接绿色安装。

安装DB,运行

下载的ZIP包直接解压到 e:\mongodb,在下面建两个目录datalogs

安装目录: e:\mongodb

目录:

  • data --- 用于保存数据的位置*
  • logs --- Mongo的日志

在Path环境变量中增加,D:\mongodb\bin 程序目录。

环境变量:D:\mongodb\bin

运行Mongo服务

命令: mongod --dbpath D:/mongodb/data

运行的效果,默认的端口是27017。日志第二条可以看到运行的进程、端口号、数据库路径和host(本机名称)

Microsoft Windows [版本 10.0.17763.593]
(c) 2018 Microsoft Corporation。保留所有权利。
C:\WINDOWS\system32>d:
D:\>mongod --dbpath D:/mongodb/data
2019-07-25T10:31:04.352+0800 I CONTROL  [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
2019-07-25T10:31:04.358+0800 I CONTROL  [initandlisten] MongoDB starting : pid=21188 port=27017 dbpath=D:/mongodb/data 64-bit host=MJ40
2019-07-25T10:31:04.358+0800 I CONTROL  [initandlisten] targetMinOS: Windows 7/Windows Server 2008 R2
2019-07-25T10:31:04.359+0800 I CONTROL  [initandlisten] db version v4.0.10
2019-07-25T10:31:04.359+0800 I CONTROL  [initandlisten] git version: c389e7f69f637f7a1ac3cc9fae843b635f20b766
2019-07-25T10:31:04.359+0800 I CONTROL  [initandlisten] allocator: tcmalloc
2019-07-25T10:31:04.359+0800 I CONTROL  [initandlisten] modules: none
2019-07-25T10:31:04.359+0800 I CONTROL  [initandlisten] build environment:
2019-07-25T10:31:04.360+0800 I CONTROL  [initandlisten]     distmod: 2008plus-ssl
2019-07-25T10:31:04.360+0800 I CONTROL  [initandlisten]     distarch: x86_64
2019-07-25T10:31:04.360+0800 I CONTROL  [initandlisten]     target_arch: x86_64
2019-07-25T10:31:04.360+0800 I CONTROL  [initandlisten] options: { storage: { dbPath: "D:/mongodb/data" } }
2019-07-25T10:31:04.401+0800 I STORAGE  [initandlisten] exception in initAndListen: DBPathInUse: Unable to create/open the lock file: D:/mongodb/data\mongod.lock (另一个程序正在使用此文件,进程无法访问。). Ensure the user executing mongod is the owner of the lock file and has the appropriate permissions. Also make sure that another mongod instance is not already running on the D:/mongodb/data directory, terminating
2019-07-25T10:31:04.402+0800 I NETWORK  [initandlisten] shutdown: going to close listening sockets...
2019-07-25T10:31:04.404+0800 I CONTROL  [initandlisten] now exiting
2019-07-25T10:31:04.405+0800 I CONTROL  [initandlisten] shutting down with code:100

在浏览器中输入 http://127.0.0.1:27017/ 可以看到CMD下的日志刷新。浏览器会出现类似字样。

It looks like you are trying to access MongoDB over HTTP on the native driver port.

这种方式运行关闭cmd后服务就关闭了,因此需要加个服务方便使用。

安装服务

命令: mongod --logpath D:/mongodb/logs/MongoDB.log --logappend --dbpath D:/mongodb/data --directoryperdb --serviceName MongoDB --install

安装服务需要管理员权限,运行管理员权限cmd,执行这条命令。

参数:

  • --logpath --- 日志保存的位置

  • --logappend --- 日志以追加的方式输出

  • --dbpath --- 数据库路径
  • --directoryperdb --- 每个数据库存放独立目录中
  • --serviceName --- 服务名称
  • --install 安装服务,有这个就会有移除
  • --remove

还有很多参数可以直接mongod --help查看。

安装完成服务就可以直接用命令启动或关闭,或是直接在服务管理界面services.msc里运行MongoDB的服务

命令方式:

  • 启动: net start MongoDB

  • 关闭: net stop MongoDB

运行状态可以到logs目录下查看,如果有问题看Log文件。

提示: 服务没装上,是否在管理员权限下执行的。

OK

安装MongoDB很方便。

本文作者: 豆果
发布时间: 2019年07月25日 - 23:02
最后更新: 2019年08月13日 - 08:48
知识共享许可协议 转载请保留原文链接及作者