由于工作需要,要在Windows server 2016环境下安装MongoDB,MongoDB在Windows环境下有两个版本,安装版和压缩版,安装板在服务器上安装到最后总报权限不足,忽略之后数据库无法使用,在网上找了很多4.0版的安装教程都没有解决问题,所以转用解压版的安装。
安装版本:mongodb-win32-x86_64-2008plus-ssl-4.0.2.zip。
安装步骤:
1.下载解压版安装包
2.解压程序到指定目录
3.单独设置一个保存数据目录,如F:\Repositories\MongoDBData
4.打开命令行,进入到程序解压目录的bin目录下
5.输入服务器启动命令,指向数据存储目录mongod --dbpath F:\Repositories\MongoDBData
6.在安装过程中会出现两个警报:
WARNING: Access control is not enabled for the database.Read and write access to data and configuration is unrestricted.
WARNING: This server is bound to localhost.Remote systems will be unable to connect to this server.Start the server with --bind_ip <address> to specify which IP addresses it should serve responses from, or with --bind_ip_all to bind to all interfaces. If this behavior is desired, start the server with --bind_ip 127.0.0.1 to disable this warning.
第一个是缺少用户访问权限,第二个是没有绑定IP,
解决办法是:
一、创建用户
在命令行中输入mongo,进入数据库,然后创建用户并赋予权限
>use admin
>db.createUser({user: "xxxx",pwd: "123456",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]})
二、在bin目录中创建mongod.cfg文件,写入以下内容:
systemLog:
destination: file
path: F:\Repositories\MongoDBData\log\MongoDB.log
storage:
dbPath: F:\Repositories\MongoDBData
net:
bindIp: 127.0.0.1,0.0.0.0
port: 27017
第一个是设置日志位置,第二个是设置数据存储位置,第三个是设置绑定IP和端口,0.0.0.0表示任意IP都能访问
这样那两个警报就解决了
7.在命令行中安装服务mongod --config {MongoDBPath}\bin\mongod.cfg --install
这里MongoDBPath是你自己数据库的解压路径
8.安装服务是为了以后启动方便,如果你想直接启动不安装服务,可以直接输入命令启动和使用数据库
mongod --auth --port 27017 --dbpath F:\Repositories\MongoDBData --bind_ip 127.0.0.1
mongo --port 27017 -u "xxxx" -p "123456" --authenticationDatabase "admin"
安装完服务之后可作如下操作
启动服务net start mongodb
关闭服务net stop mongodb
MongoDB就可以正常使用了,亲测可用。