javascript和JQuery焦点图和代码特效大全
当前最流行的开源CMS网站系统大全
当前位置:首页 > 数据库 > db2

通过shell为MongoDB添加用户

来源:IT技术网编辑:雨天发布于:2017-06-19人围观

通过shell为MongoDB添加用户

环境为: Ubuntu 16.04 LTS 64位 MongoDB server 3.4.5 MongoDB shell 3.4.5

打开控制台,输入

mongod

即可启动数据库服务,此时如果退出控制台,数据库服务也会关闭。

二、通过shell连接数据库

再打开一个控制台,输入

mongo

即可连接数据库。
如果连接失败,可以使用 netstat -apn|grep mongod 来查询 mongod 监听的端口。
然后再控制台输入

mongo –port xxx

来连接数据库

三、创建用户

在连接数据库时没有指定使用的 database, 则会默认到名为 ‘test’ 的数据库。
通过

use admin

来切换到名为 ‘admin’ 的数据库,之后输入

?
1
2
3
4
5
6
7
8
9
db.createUser({
        user:"test_root",
        pwd:"123456",
        roles:[{
            role:"root",
            db:"admin"
        }]
    }
)

来创建一个用户名为 test_root, 密码为 123456 的超级用户。
其中 role 表示用户的角色,这里采用了内置的 root 角色。db 表示用户的 authentication database。这里的 authentication database 并不表示用户可以对这个数据库为所欲为。其实 authentication database 和 用户名共同构成了 用户的唯一标识(多个同名用户是允许的,只要他们的authentication database是不同)。
mongodb中的内置角色
authentication database

四、数据库开启身份认证

打开之前运行 mongod 的控制台,输入 ctrl + c 结束 mongod。
修改 /etc/mongodb.conf
将其中

# auth = true

的注释去掉,同时保证

# noauth=true

被注释掉,或者为 false。
通过

mongod –config /etc/mongodb.conf –fork

来启动数据库,此时,退出控制台,数据库服务仍会保持运行。

五、通过用户名和密码来连接数据库

此时,我们有两种方式来连接数据库
1. 先连接数据库之后再登录
连接数据库和第二步完全一样
不过登录之后,没有任何的读写权限(show dbs 等操作均不可以)
能做的两件事是 use <数据库名>,和 db.auth()。
因此,我们可以使用如下方法登录

?
1
2
use admin
db.auth('test_root','123456')

2.在连接数据库时登录
在控制台中输入

?
1
mongo -u 'test_root' -p '123456' --authenticationDatabase 'admin'

[1] https://docs.mongodb.com/manual/tutorial/enable-authentication/
[2] https://docs.mongodb.com/manual/core/security-users/
[3] https://docs.mongodb.com/manual/core/security-built-in-roles/

与相关的文章
有时间的话来看看IT界的突发事件