授权
https://blog.csdn.net/qq_38980678/article/details/114703852
window远程访问
https://blog.csdn.net/weixin_35784370/article/details/113550100
安装目录(参考)
C:\Program Files\MongoDB\Server\4.4\bin
用编辑器打开之后,需要修改的地方有共有两处
- network interfaces
将原本的 IP 127.0.0.1 更改为 0.0.0.0,意思是开放给所以 IP 都能访问。可以直接在后面添加指定多个IP地址127.0.0.1,192.168.1.60
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0
security
authorization: enabled
security:
keyFile: <string>
clusterAuthMode: <string>
authorization: <string>
transitionToAuth: <boolean>
javascriptEnabled: <boolean>
redactClientLogData: <boolean>
clusterIpSourceAllowlist:
- <string>
sasl:
hostName: <string>
serviceName: <string>
saslauthdSocketPath: <string>
enableEncryption: <boolean>
encryptionCipherMode: <string>
encryptionKeyFile: <string>
kmip:
keyIdentifier: <string>
rotateMasterKey: <boolean>
serverName: <string>
port: <string>
clientCertificateFile: <string>
clientCertificatePassword: <string>
clientCertificateSelector: <string>
serverCAFile: <string>
connectRetries: <int>
connectTimeoutMS: <int>
ldap:
servers: <string>
bind:
method: <string>
saslMechanisms: <string>
queryUser: <string>
queryPassword: <string | array>
useOSDefaults: <boolean>
transportSecurity: <string>
timeoutMS: <int>
userToDNMapping: <string>
authz:
queryTemplate: <string>
validateLDAPServerConfig: <boolean>
上一步修改完成之后,其实就能共远程访问了。但这样子不好的,不安全的。需要在安全这个选项中加上验证。
这样之后并没有完,还需要为MongoDB添加用户。
添加 MongoDB 用户
添加超级管理员用户。
其中授权数据库为 admin, 授权内置角色为userAdminAnyDatabase. 角色决定对数据库的操作权限。 关于内置角色更详细的信息请防卫官网文档
db.createUser({user:'admin', pwd:'admin', roles: [{ role: "userAdminAnyDatabase", db: "admin" }]})
添加指定数据库的用户
db.createUser({user:'user001', pwd:'user001pass', roles: [{ role: "readWrite", db: "studentDB" }]})
到这里,数据配置就完成了,如果没有防火墙限制,理论上数据库以及能够远程访问了。
三、针对服务器开放指定访问端口
由于数服务器的安全策略,数据库的端口是没有对外开发的。如MongoDB的默认端口 27017, 在完成上述配置之后仍然无法访问。但通常不能关闭防火墙,来解决端口问题,因此需要为服务器开放指定的访问端口。
本地验证连接
文档更新时间: 2022-04-09 15:55 作者:admin