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