mongodb的密码和mysql不同,mongodb的密码是基于数据库的,而不是基于系统的
1、在后台管理shell中
show dbs
2、进入admin数据库
use admin
3、创建管理员账户
db.createUser({ user: "admin", pwd: "adminpwd", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
关于角色可以参考别人的文章:https://blog.csdn.net/m0_37867491/article/details/87883947
4、创建超级管理员
db.createUser({user: "root",pwd: "rootpwd", roles: [ { role: "root", db: "admin" } ]})
root角色可以用于关闭数据库
5、创建数据库,并插入数据
use mongodbtest
插入数据
db.mongotest.insert({"name":"taobao"})
查询插入的数据
db.mongotest.find().pretty()
如果不插入数据,使用show dbs是看不到新建的数据库的,在没有创建集合的下,直接插入数据,
会生成一个和库名相同的集合
六、创建用户
db.createUser({user:"test",pwd:"testpwd",roles:[{role:"readWrite",db:"mongotest"}]})
七、开启认证
在usr/local/mongodb/bin目录下创建mongodb.conf,注意配置文件的格式使用的yml语法
config的配置参数参考文档:https://www.jb51.net/article/87914.htm
dbpath 数据文件存放目录
logpath 日志文件存放目录
logappend 日志追加
port 端口
authorization 启用验证
fork = true 以守护程序的方式启用,即在后台运行
bind_ip #127.0.0.1 只限于本机连接。配置成0.0.0.0 ,别的机器才可以连接
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
net:
port: 27017
bindIp: 0.0.0.0
security:
authorization: enabled
storage:
dbPath: /var/lib/mongo
processManagement:
fork: true
关闭服务,此时关闭服务就需要登录了
use admin
db.auth("root","rootpwd") 鉴权
db.shutdownServer()
启动
./mongod -f mongodb.conf
开发端口
firewall-cmd --zone=public --add-port=27017/tcp --permanent
重启防火墙
firewall-cmd --reload