(.是表示在服务器的windows powershell下需要 表示信任此命令才会执行不然会报错,自己电脑上使用时可去掉.)
在本地使用都不需要开启权限而在服务器上需要开启安全模式所以需要在原本的命令加上--auth(连接时需要用户名和密码)来启用权限。
既然需要用户名和密码那么肯定需要先在非安全模式下建立之后再开启安全模式。
1.下载mongodb可在官网下载选择适应自己的系统版本我这里是用windows2008 64位的https://www.mongodb.org/downloads
2.安装下载的mongodb像装软件一样默认是装在C:Program FilesMongoDB安装位置可以安装的时候自己选择。
3.启用非安全模式创建管理账号:(我安装在d盘下,路径请根据自己实际情况修改)
1.打开windows powershell(相当于我们在本地使用的cmd)先打开到安装的目录下用cd d:mongodbin
执行后敲入命令.mongod.exe --dbpath D:mongodbdata --logpath=D:mongodblogsmongodb.log --logappend
--dbpath D:mongodbdata是存放数据的文件夹(可以自己指定,本人这里是在MongoDB下建了一个叫data的文件夹)
--logpath=D:mongodblogsmongodb.log是存放日志的(如果这个命令出错应该是你没建文件夹logs文件夹下还要有一个文件mongodb.log)
--logappend以追加的方式记录日志,如果不加此参数,则每次启动时都重写日志文件
2.重新打开一个命令窗口(请不要关闭第一个)同样打开安装目录cd d:mongodbin
执行后敲入命令.mongo你会看到默认连接到test,执行db.createUser( { "user" : "userName","pwd": "userPwd","customData" : { employeeId: 12345 },"roles" : [ { role: "clusterAdmin", db: "admin" },{ role: "readAnyDatabase", db: "admin" },"readWrite"] },{ w: "majority" , wtimeout: 5000 } )
对于上面命令的解释:
user文档字段介绍
user字段,为新用户的名字;
pwd字段,用户的密码;
cusomData字段,为任意内容,例如可以为用户全名介绍;
roles字段,指定用户的角色,可以用一个空数组给新用户设定空角色;
在roles字段,可以指定内置角色和用户定义的角色。
数据库角色Roles:https://docs.mongodb.org/manual/reference/built-in-roles/#built-in-roles
writeConcern文档(英语不好不懂翻译官方自己看https://docs.mongodb.org/manual/reference/write-concern/)
4.到此账号已经创建完成可以启用安全模式关掉原本的命令窗口重新打开同样cd d:mongodbin
执行后敲入命令 .mongod.exe --dbpath D:mongodbdata --logpath=D:mongodblogsmongodb.log --logappend --auth --install
--auth表示启动安全模式
启动安全模式之后如果没有认证的话就没办法操作都会提示错误not authorized
1. use admin (打开有创建登录权限的数据集合)
2. db.auth("userName","userPwd") 用户名密码正确的话会显示1表示成功,就可以操作了。也可以给其他数据集合加权限账户。
--install表示在windows创建一个服务作用是不用开着一个命令窗口放着也不用重启服务器之后要重新用命令去打开mongodb可以把服务设置为自动启动。
设置完第一次启动服务可以去服务里找到MongoDB启动它也可以用命令启动net start MongoDB,停止对应的是net stop MongoDB
5.远程连接到服务器的mongodb
1.cd 到安装的目录
2.执行mongo 192.168.0.1:27017/admin -u wuyubing -p wyb123456
服务器地址根据真实情况而定。
可能出现连接不了因为服务器默认端口号27017没开,需要打开端口号设置如下:
控制面板》系统安全》windows防火墙》高级设置》入站规则》新建规则》端口》tcp 特定端口输入27017》允许链接》按照默认设置或者懂得人可以自己进行其他设置》取规则名确定完成即可。