mongodb-用户名/密码
1. 不需要登录的方式启动mongodbmongod --dbpath=/data/mongod/data -logpath=/data/mongod/log//mongodb.log -logappend -port=27017 -fork 2. 查看当前的库linux>mongo >show dbs显示admin 和 local两个库3>建
1. 不需要登录的方式启动mongodb
mongod --dbpath=/data/mongod/data -logpath=/data/mongod/log//mongodb.log -logappend -port=27017 -fork
2. 查看当前的库
linux>mongo
>show dbs
显示admin 和 local两个库
3>建一个新的库 : zcydb
linux>mongo
>use zcydb(创建了新的库)
>db (显示当前所在的库)
>show dbs (显示所有的库,但是新建的没有列出了,需要插入一个数据后,才可以看到)
>db.zcycollect.insert({"name":"菜鸟教程"}) 插入一条数据,zcycollect 是表的概念,集合
4> 对库 zcydb 创建用户名
linux>mongo
>use zcydb (先选择进入库)
>db.createUser(
{
user: "root",
pwd: "1234567",
roles: [ { role: "readWrite", db: "zcydb" } ,{ role: "userAdmin", db: "zcydb" } ]
} )
或者:
db.createUser(
{
user: "root",
pwd: "1234567",
roles: [ "readWrite","userAdmin" ]
} )
命令还可以:
db.createUser(
{
user: "root",
pwd: "1234567",
roles: [ { role: "readWrite", db: "zcydb" } ]
} )
创建完成后查询人员
>help 可以查看帮助
>show users 列出用户
5. 重启mongo。注意红色部分,表示需要登录验证
mongod -shutdown -dbpath=/data/mongod/data
mongod --dbpath=/data/mongod/data --logpath=/data/mongod/log//mongodb.log --logappend --port=27017 -- -fork --auth
6. 重新进入mongo
linux>mongo
>use daas 进入daas数据库
>show dbs 此时提示要验证登录
>db.auth('root', '1234567') 返回1表示成功
>show users 列出用户(会报错,因为root用户只有读写权限)
>show collections 查询表
>show zcycollect.find() 查询数据
7. 注意: use admin 换个库,使用root 是登录不进去的 具体的数据库,还是需要有对应的用户,用户是和数据库走的
8. 对admin 库 创建用户
1> 停止mongdb
2>启动不带鉴权的mongo
3> momgo 进入
> use admin
>show roles 暂时所有的角色。 admin 和 自己建的库,显示不一样
>db.createUser(
{
user: "admin",
pwd: "1234567",
roles: [ { role: "readWrite","userAdminAnyDatabase" } ]
} )
4> 重启mongo,带上--auth
5. use admin 后,db.auth 后,就可以show dbs(userAdmin权限),show collections (readWrite权限).
但是切换use zcydb,show dbs 也可以(userAdminAnyDatabase权限),但是show collections不可以(admin用户只有对admin库有readWrite权限,如果想要对所有库,可以readWriteAnyDatabase.这些角色列表可以再admin库里面 show roles 查看)。所以还是需要登录zcydb的账号才可以
更多推荐
所有评论(0)