Ubuntu22.04安装mongodb并配置
首先按照官方文档一路安装下来就可以。
其中要注意的就是版本选择:
安装完成后,进入mongo命令行
mongosh
连接指定ip 端口的连接
mongosh --host mongodb0.example.com --port 28015
mongosh --username myuser --password your_password --authenticationDatabase mydatabase
mongosh -u xxx_db -p
创建管理员账号
use admin
创建账号 root 密码123456
db.createUser({user: 'root', pwd: '123456', roles: ['root']})
验证密码
admin> db.auth('root', '123456')
{ ok: 1 }
给某个库单独设置
如果我要给某个库设置密码,比如test
use test
db.createUser({ user: 'test', pwd: '123456', roles: [{ role: 'readWrite', db: 'test' }] })
这行代码意思是 创建一个test用户 给予读写权限 db表示该用户操作的数据库名。
- Read:允许用户读取指定数据库
- readWrite:允许用户读写指定数据库
- dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
- userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
- clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
- readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
- readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
- userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
- dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
- root:只在admin数据库中可用。超级账号,超级权限
开启auth 验证
vim /etc/mongod.conf
增加 ,注意缩进两个空格
security:
authorization: enabled
设置端口 允许ip
net:
port: 27017
bindIp: 0.0.0.0
重启 systemctl restart mongod
查看 是否启动
systemctl status mongod
● mongod.service - MongoDB Database Server
Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled)
Active: active (running) since Fri 2024-10-25 09:37:47 CST; 45min ago
Docs: https://docs.mongodb.org/manual
Main PID: 22649 (mongod)
Memory: 124.8M
CPU: 19.563s
CGroup: /system.slice/mongod.service
└─22649 /usr/bin/mongod --config /etc/mongod.conf