MongoDB 语法语句 【账户权限配置】

注意:下面所写的 jtdb 是 数据库名称。

 

1、第一步创建超级管理用户:超级管理员必须在 admin数据库 里边创建

use admin
db.createUser(
    {
        user:"myadmin",
        pwd:"123456",
        roles:[
            {role:"root",db:"admin"}
        ]
    }
)

 

2、第二部修改 MongoDB 数据库配置文件

  注意:修改前应当要先备份配置文件。

  路径在安装目录下的 bin\mongod.cfg

  路径:D:\MongoDB_install\server\bin\mongod.cfg

  配置:配置文件要严格遵守格式,否则会失败。该配置文件遵循YAML格式。

   security:

     authorization: enabled

 

 

  ① 打开配置文件,默认端口 port:27017  不安全,可以改成其他不冲突的端口号如 port:27027 ;

  ② 将 #security: 改成 

     security:

       authorization:enabled

 

  ③重启 MongoDB 服务:

    cmd 中输入 service.msc 到服务中找到  MongoDB 重启

  

 

 

 

   ④  第四部用超级管理员账户链接数据库:

     设置超级管理员后用 mongo 命令仍然可以连接,但是 show dbs 时候不显示数据库列表或者提示没有权限。

     连接命令: mongo admin -u 用户名 -p 密码 【 mongo admin -u myadmin -p 123456 】

           mongo 远程ip:端口号/数据库名称 -u 用户名 -p 密码  【 mongo 192.168.1.200:27017/test-u user -p password 】

 

  ⑤ 第五步给 jtdb 数据库创建一个用户,只能访问 jtdb,不能访问其他数据库;

db.createUser(
    {
        user:"jtdbadmin",
        pwd:"jt123456",
        roles:[
            {
                role:"dbOwner",
                db:"jtdb"
            }
        ]
    }
)

 这时候访问数据库的命令: mongo jtdb -u jtdbadmin -p jt123456 

 

------------------------------------

 

MongoDB 数据库角色


1、数据库用户角色: read 、 readWrite ;
2、数据库管理角色: dbAdmin 、 dbOwner 、 userAdmin ;
3、集群管理角色: clusterAdmin 、 clusterManager 、 clusterMonitor 、 hostManager ;
4、备份恢复角色: backup 、 restore ;
5、所有数据库角色: readAnyDatabase 、 readWriteAnyDatabase 、 userAdminDatabase 、 dbAdminAnyDatabase ;
6、超级用户角色: root ;

 

-----------------------------------

1、查看当前数据库的管理员列表: show users   ;

2、删除管理员: db.dropUser("jtdbadmin")  ;

3、修改管理员密码:

db.updateUser(
    "jtdbadmin",
    {
        pwd:"jt999"
    }
)

 

 4、密码认证:

  当输入的命令是 : mongo jtdb 时候,也可以继续通过密码认证方式访问。

db.auth(
    "jtdbadmin",
    "jt123456"
)

 

 5、连接数据库的时候需要配置账号密码:

const url="mongodb://jtadmin:jt123456@localhost:27017/";

 

 

    

 

posted @ 2020-11-29 11:30  半遮  阅读(167)  评论(0)    收藏  举报