经过几天的摸索终于成功安装配置并且远程连接好MongoDB。给大家分享下:
1、下载MongoDB:
https://www.mongodb.com/download-center/community 官网提供了MSI和ZIP两种下载方式,推荐大家使用MSI,进行自动安装。(使用Zip解压包后续要自己创建cfg文件,相对比较麻烦)。
安装过程推荐默认设置安装在C盘,还可以选择勾选官网推荐的图形化管理工具MongoDB Compass
①首先在C盘创建一个data文件夹,并在该目录下新建两个文件夹:dp和log
②配置环境变量,即安装MongoDB的bin目录,我这里是C:\Program Files\MongoDB\Server\4.0\bin
③进入bin目录,打开cmd,输入
mongod.exe --dbpath c:\data\db
显示 waiting for connections on port 27017,表示启动成功。(第一次执行貌似卡住了,ctrl+c退出后重新执行就显示成功了)
可以用浏览器试试看有没有成功:
2、MongoDB配置
①使用Msi安装的bin目录下自带mongod.cfg配置文件,如果没有可以新建一个txt文件,改后缀即可
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# Where and how to store data.
storage:
dbPath: C:\Program Files\MongoDB\Server\4.0\data
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger:
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: C:\Program Files\MongoDB\Server\4.0\log\mongod.log
# network interfaces
net:
port: 27017
bindIp: 127.0.0.1
#processManagement:
#security:
#operationProfiling:
#replication:
#sharding:
## Enterprise-Only Options:
#auditLog:
#snmp:
为了进行远程连接,在bindIp上加上0.0.0.0。表示允许其他IP地址访问
② 用管理员方式打开cmd,执行下列语句
mongod.exe --config "C:\Program Files\MongoDB\Server\4.0\bin\mongod.cfg" --install
这个时候可能会出现file to open mongod.log文件的错误:检查发现C:\Program Files\MongoDB\Server\4.0\log\mongod.log文件是存在的。这个不是权限的问题,我认为是安装的时候自动配置好了cfg,现在修改出现错误。把mongod.log日志文件直接删除,然后再次执行上述语句,就成功了!(这个坑我陷了好久,网上博客都没提到)
③重启MongoDB服务:
net stop MongoDB
net start MongoDB
④添加用户:
cmd打开mongo命令。输入以下语句:
use admin
db.createUser({
"user":"admin","pwd":"passwd",
"roles":[
{role:"userAdminAnyDatabase", db: "admin"},
{role:"readWriteAnyDatabase", db: "admin"}
]});
⑤修改注册表参数
运行-> regedit-> HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services->MongoDB
添加--auth
3、阿里云远程连接
①先开启防火墙:
新建入站规则,选择端口,填写端口号为27017,允许连接,选择所有时候应用规则,随便取个名字即可。用同样方式新建出站规则
②阿里云配置安全规则:
同样的方式添加出规则
③!!!远程连接阿里云服务器,我的是Windows 2012。以同样的方式先copy .msi文件然后逐一按上述教程配置MongoDB,直到防火墙。
4、MongoDB Compass进行连接
先试试有没有成功:
如果有问题,建议重启下阿里云服务器就OK啦!
连接成功!!
后续如果大家有什么问题,欢迎评论,我会即时回复。谢谢大家支持~~