测试库总是几个小时候就没了。一看数据库里多了个“READ__ME_TO_RECOVER_YOUR_DATA”的数据库。原来是没设密码被整了。
我用自己的电脑cmd测试了一下远程服务器:
mongosh "mongodb://远程主机号:27017"
直接进去了,好家伙,不用密码也不限ip,乐。
1、创建用户
cmd输入
use 数据库名; db.createUser( { user: "你的用户名", pwd: "你的密码", customData:{description:"数据库描述,如果不需要描述这行代码可以省略不写"}, roles: [ { role: "readWrite", db: "数据库名" } ] } )
readWrite权限是:允许用户在指定数据库中读取和写入数据。
2、查看用户
show users;
3、删除用户
db.dropUser('要删除的用户名')
4、修改配置
先进入
net: bindIp: 127.0.0.1 security: authorization: enabled
bindIp设置仅本机可以访问。(0.0.0.0代表所有人都可以访问)
authorization代表访问数据库是否需要密码。
修改配置后重启生效:
net stop MongoDB net start MongoDB
5、登陆
MongoDB Compass登陆:
用户创建完了,现在你可以用账户密码登陆你的数据库了。
原本你的登陆的链接是:
mongodb://localhost:27017
现在可以用下面命令进行链接了:
mongodb://用户名:用户密码@localhost:27017/数据库名
cmd登陆:
可以先测试一下无密码登陆能不能查看数据库:
企图查看数据库数据:
可以看到告诉你没权限,好,OK了。
现在用账号密码登陆: