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"
]
}
);
db.createUser({
user: 'user1', // 用户名
pwd: '123456', // 密码
roles:[{
role: 'readWrite', // 角色,普通数据库一般用:readWrite
db: 'haha' // 授权数据库
}]
})
连接测试
ps:
验证数据库选择haha,使用admin连接失败。因为haha数据中没有admin这个用户,如果admin用户要连接,需要在使用/选择haha数据库后创建admin用户并分配权限