目录
创建管理员用户
没有权限操作普通数据库
use admin
db.createUser(
{
user:'x',
pwd:'y',
roles:[{role:'userAdminAnyDatabase',db:'admin'}]
}
)
- 切换到 admin 数据库
- 账号名 x,密码 y,角色为 userAdminAnyDatabase,控制的数据库为 admin
- 在配置文件 mongodb.cfg 添加如下两行内容
正常使用客户端
./mongo -u '用户名' -p '密码' --authenticationDatabase '数据库'
操作数据库会报错:
创建普通用户
对 example 数据库有读写权限
use example
db.createUser(
{
user:'name',
pwd:'namepwd',
roles:[
{role:'readWrite',db:'example'},
{role:'read',db:'example'}
]
}
)
添加了后本地的链接不上了,
重新配置
创建能操作所有数据库的管理用户
因为管理员能创建其他用户,但不能自己访问数据库
db.createUser(
{
user:'root',
pwd:'zjk12345',
roles:['root']
}
)
连接配置如上,就可以操作数据库了
Python 连接有密码的 MongoDB
需要用 URI :
mongodb://用户名:密码@数据库地址/数据库名
几种连接方式:
根用户 root:mongodb://root:zjk12345@localhost 不需要指明数据库
没有权限限制,端口默认本地数据库:mongodb://localhost
有账号密码,端口默认本地数据库:mongodb://root:zjk12345@localhost
有账号密码,远程端口默认数据库:mongodb://root:zjk12345@10.22.212.90
连接没有权限,端口为 8001 远程数据库:mongodb://10.21.30.90:8001
有用户名,数据库:mongodb://root:zjk12345@localhost/chapter_8
允许其他机器访问
在配置文件中这里设置为 0.0.0.0
游标陷阱