如何在 Linux 上管理 MongoDB?

热门:
升级您的服务器配置! 申请 AVA 并使用 立减 15%
使用优惠码:

Linux VPS 上管理 Linux VPS 涉及安装、配置、安全和性能优化。

在 Linux VPS 上管理 MongoDB 对于希望充分发挥这一强大 NoSQL 数据库潜力的开发者和系统管理员来说至关重要。从安装和配置到安全和性能优化,一个管理良好的 MongoDB 设置可确保应用程序的可靠性、可扩展性和效率。

通过遵循我们指南中概述的全面步骤,您可以确保您的 MongoDB 实例不仅可运行,而且安全且已针对性能进行了优化。在安装、身份验证、访问控制和资源管理方面实施最佳实践,将为您的数据驱动型应用程序提供坚实的基础。定期监控和维护还能进一步确保您的数据库能够保持响应能力,并能适应不断变化的需求。

对于那些希望简化 MongoDB 管理的人来说,可以考虑利用自动化工具和脚本来高效处理日常任务。此外,探索 MongoDB Compass 或 NoSQLBooster 等图形界面可以简化数据库交互,尤其是在处理复杂查询和数据可视化时。通过将这些工具集成到您的工作流程中,您可以提高生产力并维护一个高性能的 MongoDB 环境。
Baeldung.

1. 在 Linux VPS 上安装 MongoDB

MongoDB 可以使用 apt(适用于 Debian/Ubuntu)或 yum(适用于 CentOS/RHEL)等包管理器进行安装。

适用于 Ubuntu/Debian

  1. 更新包列表:
    sudo apt update 
    sudo apt upgrade -y
  2. 导入 MongoDB GPG key:
    curl -fsSL https://www.mongodb.org/static/pgp/server-6.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-keyring.gpg

    **运行以下命令以添加缺失的公钥:

    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys B00A0BD1E2C63C11

    **运行此命令以手动导入 key:

    wget -qO - https://pgp.mongodb.com/server-5.0.asc | sudo tee /etc/apt/trusted.gpg.d/mongodb-server-5.0.

    检查 key 是否已成功添加:

    gpg --dry-run --quiet --import --import-options import-show /etc/apt/trusted.gpg.d/mongodb-server
  3. 添加 MongoDB repository:
    Ubuntu:
    echo "deb [signed-by=/usr/share/keyrings/mongodb-server-keyring.gpg] https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
    Debian:
    echo "deb [signed-by=/etc/apt/trusted.gpg.d/mongodb-server-5.0.asc] https://repo.mongodb.org/apt/debian bullseye/mongodb-org/5.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
  4. 安装 MongoDB:
    sudo apt update
    sudo apt install -y mongodb-org
  5. 启动并启用 MongoDB:
    sudo systemctl start mongod
    sudo systemctl enable mongod

适用于 CentOS/RHEL

  1. 添加 MongoDB repository:
    sudo tee /etc/yum.repos.d/mongodb-org-6.0.repo <<EOF
    [mongodb-org-6.0]
    name=MongoDB Repository
    baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/6.0/x86_64/
    gpgcheck=1
    enabled=1
    gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc
    EOF

  2. 安装 MongoDB:
    sudo yum install -y mongodb-org
  3. 启动并启用 MongoDB:
    sudo systemctl start mongod
    sudo systemctl enable mongod

2. 保护 MongoDB 安全

默认情况下,MongoDB 监听 localhost(127.0.0.1)。要保护它:

启用身份验证

  1. 创建管理员用户:
    mongosh
    use admin
    db.createUser({
    user: "admin",
    pwd: "StrongPassword",
    roles: [{ role: "root", db: "admin" }]
    })
  2. 在 MongoDB 配置文件中启用身份验证:
    sudo nano /etc/mongod.conf

    找到 security 部分并添加:

    security:
    authorization: enabled
  3. 重启 MongoDB:
    sudo systemctl restart mongod

限制外部访问

  1. 将 MongoDB 修改为仅监听 localhost:
    sudo nano /etc/mongod.conf

    更改:

    bindIp: 127.0.0.1
  2. 使用 UFW(Ubuntu)或 FirewallD(CentOS)仅允许特定 IP:
    sudo ufw allow from YOUR_IP to any port 27017

3. 管理 MongoDB

检查 MongoDB 服务状态

sudo systemctl status mongod

重启 MongoDB

sudo systemctl restart mongod

停止 MongoDB

sudo systemctl stop mongod

启用 MongoDB 开机启动

sudo systemctl enable mongod

4. 管理 MongoDB 中的数据库

连接到 MongoDB

mongosh

创建数据库

use mydatabase

显示数据库

show dbs

创建集合

db.createCollection("users")

插入数据

db.users.insertOne({ name: "John Doe", age: 30, email: "john@example.com" })

查找数据

db.users.find()

删除数据库

use mydatabase
db.dropDatabase()

5. 备份和恢复

备份 MongoDB 数据库

mongodump --db=mydatabase --out=/backup/

恢复 MongoDB 数据库

mongorestore --db=mydatabase /backup/mydatabase/

6. 性能优化

为更快的查询建立索引

db.users.createIndex({ email: 1 })

监控性能

db.serverStatus()

限制内存使用

修改 wiredTigerCacheSizeGB/etc/mongod.conf 中:

storage:
wiredTiger:
engineConfig:
cacheSizeGB: 1

使用连接池

修改 /etc/mongod.conf

net:
maxIncomingConnections: 1000

7. 日志和调试

查看 MongoDB 日志

sudo journalctl -u mongod --no-pager | tail -n 50

检查错误日志

sudo cat /var/log/mongodb/mongod.log

8. 卸载 MongoDB(如需要)

适用于 Ubuntu/Debian

sudo systemctl stop mongod
sudo apt purge -y mongodb-org*
sudo rm -r /var/log/mongodb /var/lib/mongodb

适用于 CentOS/RHEL

sudo systemctl stop mongod
sudo yum remove -y mongodb-org*
sudo rm -r /var/log/mongodb /var/lib/mongodb

结论

Linux VPS 上管理 MongoDB 需要正确的安装、安全加固和性能优化。通过遵循这些步骤,您可以确保您的 MongoDB 数据库高效且安全地运行。🚀

您想要有关管理 MongoDB 的自动化脚本帮助吗?😊