Mongodb密码安全设置
时间:2021-07-01 10:21:17
帮助过:71人阅读
https://www.mongodb.org/dl/win32/x86_64-2008plus-ssl?_ga=2.21045944.28077375.1495245189-20472680.1495115198
将mongodb安装在d:\mongodb下
创建数据库文件的存放位置,比如d:/mongodb/data(启动mongodb服务之前必须创建数据库的存放文件夹,否则不会自动创建,而且不能启动成功)
在d:\mongodb\log下新建文件夹log(存放日志文件)并且新建文件mongodb.log
在d:\mongodb新建文件mongo.config配置文件
dbpath=D:\mongodb\data
logpath=D:\mongodb\log\mongo.log
在环境变量中配置mongodb安装路径
打开命令行行启动mongod:mongod --config D:\mongodb\mongo.config( mongod --config D:\mongodb\mongo.config --install --serviceName "MongoDB"开机启动)
重新打开一个命令行输入:mongo
创建超级用户(需要先进入admin数据库,没有就创建):
- use admin
- db.createUser(
- {
- user: "admin",
- pwd: "admin",
- roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
- }
- )
# 创建低权限的用户
- db.createUser(
- {
- user: "myuser",
- pwd: "myuser",
- roles: [ { role: "readWrite", db: "mydb" } ]
- }
- )
在配置文件mongo.config中添加:auth=true
dbpath=D:\mongodb\data
logpath=D:\mongodb\log\mongo.log
auth=true
11. 重启mongod: mongod --config D:\mongodb\mongo.config
12. 打开另一个命令窗口下连接mongo:
mongo show dbs(显示无权访问) # 因为在admin数据库创建的,只能在 admin 数据库中登录,不能在其他的数据库中认证# 认证之后就可以切换到其他的数据库进行相关操作use admin db.auth("xxxx","xxxx")现在可以进行操作了
在使用Robomong连接需要通过密码验证的mongodb时,显示无法正常连接,现使用如下方法解决
1、删除以前创建的用户:db.dropUser("admin");
2、然后将mongdb.config :auth=true 删除
3、重启mongod、然后再连接
4、ues admin下 修改version:db.system.version.update({ "_id" : "authSchema"},{$set: {"currentVersion" : 3} })
5、重新创建用户:
db.createUser({user:"root",pwd:"123456",roles:[{"role":"root","db":"admin"}]})
6、重启mongdb服务,打开robomong,设置账号和密码(就是在mongo中设置的账号和密码)再次测试,就可以正常的链接了
开机之后如果mongod已启动,需要在后台关闭服务,然后再使用如下命令才能开启mongodb的安全验证
先命令行开启:mongod --config D:\mongodb\mongo.config
再命令行连接:mongo
Mongodb密码安全设置
标签:.config 12px ice 文件的 开启 ext creat 并且 admin