1.admin表创建一个admin user并设置密码并给userAdminAnyDatabase的权限;
可以在mongodb刚装好后,用官网自带的客户端MongoDB Compass一键connect链接后,点击界面最下方 ">MONGOSH",输入此命令,下同。
use admin;
db.createUser({user: 'admin', pwd: '123456', roles: [{role: 'userAdminAnyDatabase', db: 'admin'}]});
2.业务表创建一个user并设置密码并给dbAdmin和dbOwner的权限;
use my_db;
db.createUser({user: 'my_db_owner', pwd: '123456', roles: [{role: 'dbAdmin', db: 'my_db'}, {role: 'dbOwner', db: 'my_db'}]});
3.打开mongod.cfg(windows, 如果是ubuntu,则为:/etc/mongodb.conf)文件(不同版本在不同路径下,3.4.5版本的在与bin同级的文件夹下, 4.2版本在bin文件夹里面),在最末尾添加上:
security:
authorization: enabled
注意:authorization前面是两个空格,不能是缩进tab,否则mongodb会起不来。
4.任务管理器->services服务,找到MongoDB服务,右键restart。
5.Studio 3T创建一个连接,Authentication那里选择Basic, 输入用户名密码和业务表名,就可以成功连接。如果不输入用户名密码,则可以连接localhost:27017但是看不到任何数据库表。
或者采取在MongoDB Compass用url方式链接:
mongodb://my_db_owner:123456@localhost:27017
注意:如果不给admin表设置账号,则就算给业务表设置账号密码也没用,没有账号密码一样可以访问。
亲测:2022年1月22号,mongodb最新版5.0.5,依然有效。
文章目录
- 1.admin表创建一个admin user并设置密码并给userAdminAnyDatabase的权限;
- 2.业务表创建一个user并设置密码并给dbAdmin和dbOwner的权限;
- 3.打开mongod.cfg(windows, 如果是ubuntu,则为:/etc/mongodb.conf)文件(不同版本在不同路径下,3.4.5版本的在与bin同级的文件夹下, 4.2版本在bin文件夹里面),在最末尾添加上:
- 4.任务管理器->services服务,找到MongoDB服务,右键restart。
- 5.Studio 3T创建一个连接,Authentication那里选择Basic, 输入用户名密码和业务表名,就可以成功连接。如果不输入用户名密码,则可以连接localhost:27017但是看不到任何数据库表。