首先按照官方文档一路安装下来就可以。

https://www.mongodb.com/zh-cn/docs/manual/tutorial/install-mongodb-on-ubuntu/#std-label-install-mdb-community-ubuntu

其中要注意的就是版本选择:

图1

安装完成后,进入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表示该用户操作的数据库名。

  1. Read:允许用户读取指定数据库
  2. readWrite:允许用户读写指定数据库
  3. dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
  4. userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
  5. clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
  6. readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
  7. readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
  8. userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
  9. dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
  10. 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