如何在 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
  • 导入 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
  • 添加 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
  • 安装 MongoDB:
    sudo apt update
    sudo apt install -y mongodb-org
  • 启动并启用 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 的自动化脚本帮助吗?😊