mongodb 干净的数据数据初始化和navicat连接问题

MongoDB 中默认的数据库为 test,如果你没有创建新的数据库,集合将存放在 test 数据库中。

1、创建数据库

> db #查看当前数据库
test
> use admin #使用admin数据库
switched to db admin
> use haha #使用haha数据库,haha数据库没有的话就是创建数据库的意思
switched to db haha
> show dbs #查看所有数据库,haha数据库没有存在
admin 0.000GB
config 0.000GB
local 0.000GB
> db#查看当前数据库
haha
> db.haha.insert({"name":"haha"})  #往haha数据插入一条数据
WriteResult({ "nInserted" : 1 })
> show dbs  #查看所有数据库,haha数据库显示
admin 0.000GB
config 0.000GB
haha 0.000GB
local 0.000GB
>

 

 2、创建管理用户

干净的数据库是没有用户的,需要自己创建用户,一般先给admin数据库创建一个管理员用户

#一定要先选择数据库,在哪个数据库下创建用户,用外部工具连接的验证数据就是创建用户时选择的数据库

#在admin数据库下创建的用户,在要navicat连接时的验证数据库就是admin使用其它的数据库验证失败

 

 

 

 

 

 

>use admin

db.createUser({user:'admin',pwd:'123456',roles:[{role:'userAdminAnyDatabase',db:'admin'},"readWriteAnyDatabase"]});

 ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓

db.createUser
(
{
user:'admin',

pwd:'123456',

roles:[
  {

   role:'userAdminAnyDatabase',

   db:'admin'

  },

   "readWriteAnyDatabase"

  ]
}
);

 

 

 

 3、创建普通用户
#使用/创建haha数据
>use haha
#创建用户user1,密码是123456,对数据库haha的权限是读写,因为上一个命令选择了haha数据,所以验证数据库是haha
>db.createUser({ user: 'user1', pwd: '123456', roles: [ { role: "readWrite", db: "haha" } ]});
 ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓

db.createUser({

user: 'user1', // 用户名
pwd: '123456', // 密码
roles:[{
role: 'readWrite', // 角色,普通数据库一般用:readWrite
db: 'haha' // 授权数据库
}]
})

 

 连接测试

 

ps:

验证数据库选择haha,使用admin连接失败。因为haha数据中没有admin这个用户,如果admin用户要连接,需要在使用/选择haha数据库后创建admin用户并分配权限

 

posted @ 2022-05-19 11:36  leihongnu  阅读(736)  评论(0编辑  收藏  举报