Install MongoDB 7.0 on Ubuntu 22.04 Jammy
sudo apt-get install gnupg curl
curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg \
--dearmor
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org
Check limits
ulimit -a
Set system limits
sudo nano /etc/security/limits.conf
* soft nofile 64000
* hard nofile 64000
* soft nproc 64000
* hard nproc 64000
* soft memlock unlimited
* hard memlock unlimited
* soft stack unlimited
* hard stack unlimited
* soft fsize unlimited
* hard fsize unlimited
* soft cpu unlimited
* hard cpu unlimited
* soft vmem unlimited
* hard vmem unlimited
Set Global Limits for System Services
sudo nano /etc/systemd/system.conf
# and for
sudo nano /etc/systemd/user.conf
DefaultLimitNOFILE=64000
DefaultLimitNPROC=64000
DefaultLimitMEMLOCK=infinity
DefaultLimitSTACK=infinity
DefaultLimitFSIZE=infinity
DefaultLimitCPU=infinity
DefaultLimitVMEM=infinity
Modify the PAM limits
sudo nano /etc/pam.d/common-session
session required pam_limits.so
Restart systemd
sudo systemctl daemon-reload
Reboot
sudo systemctl start mongod
sudo systemctl enable mongod
Listen on all interfaces
sudo nano /etc/mongod.conf
bindIp: 0.0.0.0
Create user root
mongosh
use admin
####
db.createUser({
user: "admin",
pwd: "123",
roles: [{ role: "root", db: "admin" }]
})
Restart MongoDB
sudo systemctl restart mongod
Create additional user
db.createUser({
user: "usr",
pwd: "123", // Choose a secure password
roles: [{ role: "readWrite", db: "mydatabase" }]
})
Change password for user
mongosh -u admin -p
use admin
db.updateUser("admin", { pwd: "123" })
Check users
use admin
db.getUsers()