初始化
首先,mongodb在没有数据的情况下是没有库,也就是说插入新数据的同时库也会自动生成
使用非用户登录模式来启动
mongo
如果出现以下代码说明链接成功了
MongoDB shell version v4.0.1
connecting to: mongodb://127.0.0.1:27017/test
MongoDB server version: 4.0.1
查看当前库
> show dbs
======= 会出现 =======
admin 0.000GB
local 0.000GB
使用新的库
> use testdb
switched to db testdb
插入一条数据
> db.testdb.insert({title: 'test'})
再次查看当前库
> show dbs
======= 会出现 =======
admin 0.000GB
local 0.000GB
testdb 0.000GB
创建用户权限
> use admin
switched to db admin
创建用户
> db.createUser(
{
user: "admin1",
pwd: "admin123",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
查看当前库下的用户
> show users
{
"_id" : "admin.admin1",
"user" : "admin1",
"db" : "admin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
],
"mechanisms" : [
"SCRAM-SHA-1",
"SCRAM-SHA-256"
]
}
使用自己的库
> use testdb
switched to db testdb
创建私有库用户权限
> db.createUser({ user: "user", pwd: "user123", roles: [{ role: "dbOwner", db: "testdb" }] })
查看私有库用户权限
> show users
{
"_id" : "testdb.user",
"user" : "user",
"db" : "testdb",
"roles" : [
{
"role" : "dbOwner",
"db" : "testdb"
}
],
"mechanisms" : [
"SCRAM-SHA-1",
"SCRAM-SHA-256"
]
}
ctrl+c退出后,关闭mongo,重新改用权限访问
mongod --quiet
mongod --auth
mongo
注意:
带配置的访问如下(/usr/local/etc/mongod.conf 为你的配置文件)
mongod --config /usr/local/etc/mongod.conf --auth
如果你的端口更改为非27017请使用
mongo 127.0.0.1:配置中填写的端口号
再次使用,出现以下内容说明需要权限登录才能查看dbs
show dbs
2018-09-04T11:50:25.249+0800 E QUERY [js] Error: listDatabases failed:{
"ok" : 0,
"errmsg" : "command listDatabases requires authentication",
"code" : 13,
"codeName" : "Unauthorized"
}
使用权限登录,如出现1说明登录成功,可以其他操作了
>use admin
>db.auth("admin1","admin123");
1