vim /etc/mongodb.conf # 修改 mongodb 配置,将 auth = true 注释掉,或者改成 false
service mongodb restart # 重启 mongodb 服务
mongo # 运行客户端(也可以去mongodb安装目录下运行这个)
use admin # 切换到系统帐户表
db.system.users.find() # 查看当前帐户(密码有加密过)
db.system.users.remove({}) # 删除所有帐户
db.addUser('admin','password') # 添加新帐户
vim /etc/mongodb.conf # 恢复 auth = true
service mongodb restart # 重启 mongodb 服务
mongo # 运行客户端(也可以去mongodb安装目录下运行这个)
use admin # 切换到系统帐户表
db.system.users.find() # 查看当前帐户(密码有加密过)
db.system.users.remove({}) # 删除所有帐户
db.addUser('admin','password') # 添加新帐户
vim /etc/mongodb.conf # 恢复 auth = true
service mongodb restart # 重启 mongodb 服务
MongoDB version: 2.6.7
原先给数据库加用户的命令已经不管用了:
1
2
|
use
[db_name]
db.addUser(
'[user]'
,
'[password]'
)
|
现在MongoDB安装好之后,先要用localhost登录上去,创建一个admin,给予userAdminAnyDatabase的权限,可以管理所有数据库的用户:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
use
admin
db.createUser(
{
user:
"admin"
,
pwd:
"admin"
,
roles:
[
{
role:
"userAdminAnyDatabase"
,
db:
"admin"
}
]
}
)
|
然后退出,再用admin登录,创建其他用户,给予dbOwner的权限,可以对某个数据库进行所有操作:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
mongo [ip]/admin -u admin -p admin
use
[db_name]
db.createUser(
{
user:
"[user]"
,
pwd:
"[password]"
,
roles:
[
{
role:
"dbOwner"
,
db:
"[db_name]"
}
]
}
)
|
然后再用新建的用户登录,就可以操作数据库了。