说来这个问题,都觉得不可思议,一个数据库怎么没有超级用户呢,我们知道,MYSQL,PG,ORACLE等,创建好后,都有一个默认的超级用户,MONGODB也有超级用户,但需要自己去建立,默认是没有的。国内一些软件公司,可能为了安全的因素,在部署应用时,就没有创建超级用户,同时启用了权限认证auth,然后就创建自己的业务数据库,导致后面维护时,只能登录到他的库去看该库的信息,但整个MONGODB的运行信息,由于没有超级用户信息,很多信息,都无法获取,比如运行 db.serverStatus() 都会报错,这种情况下,后面我们怎么才能把超级用户加进去呢
1.关闭配置文件权限认证
#security:
#authorization: enabled
要加超级用户,必须要关闭权限认证,这个通过修改配置文件来实现。
2.关闭数据库
或者:
use admin
db.shutdownServer();
3.做好备份
我这里使用 tar 命令备了一个,后面有问题,直接使用tar 还原即可
tar cvf mongodb.tar /data/mongo/db
4.重启数据库
5.登录数据库
mongo —host=localhost —port=27017
6.增加超级用户
> use admin —切换到ADMIN数据库
switched to db admin
> show tables; —查看一下目前里面有哪些表
system.users
system.version
> db.createUser({‘user‘:’root‘,
‘pwd‘:’sztech@root‘,
‘roles‘:[{role:’root‘,db:’admin‘}]})
Successfully added user: {
“user” : “root“,
“roles” : [
{
“role” : “root“,
“db” : “admin“
}
]
}
>
7.关闭数据库
use admin
db.shutdownServer();
8.修改配置文件增加权限验证
vim /etc/mongodb.conf
#登录验证
auth=true
9.重新启动数据库
10.本地登录 – 连接时验证
$ mongo
> use admin
switched to db admin
> db.auth(“username“, “password“)
> db.auth(“root“,”sztech@root“)
> db.auth(“ordb“,”ordb@ordb“)
没有问题,然后,使用业务用户登录去做一些查询操作,验证业务用户可以正常操作。
到此,超级用户添加成功。
原文地址:https://blog.csdn.net/cqsztech/article/details/134767321
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_36512.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!