在 Linux 上安装 MongoDB,保姆级教程

1. 准备工作

更新系统包

确保你的系统是最新的,并且安装了必要的依赖项:

  • 基于 Debian 的系统(如 Ubuntu)

    sudo apt update && sudo apt upgrade -y
    
  • 基于 Red Hat 的系统(如 CentOS 或 Fedora)

    对于 CentOS 7 及更早版本:

    sudo yum update -y
    

    对于 Fedora 和 CentOS 8 及更高版本:

    sudo dnf update -y
    
2. 导入 MongoDB 公钥

为了验证从官方仓库下载的软件包,你需要导入 MongoDB 的公钥:

  • 基于 Debian 的系统(如 Ubuntu)

    wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
    
  • 基于 Red Hat 的系统(如 CentOS 或 Fedora)

    sudo rpm --import https://www.mongodb.org/static/pgp/server-6.0.asc
    
3. 设置 MongoDB 仓库

接下来,设置 MongoDB 稳定版仓库。创建一个新的 APT 源列表文件或编辑现有的 YUM 库配置。

基于 Debian 的系统(如 Ubuntu)

编辑 /etc/apt/sources.list.d/mongodb-org-6.0.list 文件,添加如下内容:

deb [arch=amd64,arm64] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse

请注意将 focal 替换为与你使用的 Ubuntu 版本相匹配的代号(例如 bionic、xenial 等),并且根据你的架构选择 amd64arm64

然后更新包索引:

sudo apt update

基于 Red Hat 的系统(如 CentOS 或 Fedora)

编辑 /etc/yum.repos.d/mongodb-org-6.0.repo 文件,添加如下内容:

[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
4. 安装 MongoDB

现在可以从官方仓库安装 MongoDB:

  • 基于 Debian 的系统(如 Ubuntu)

    sudo apt install mongodb-org
    
  • 基于 Red Hat 的系统(如 CentOS 或 Fedora)

    sudo yum install -y mongodb-org
    # 或者对于 dnf
    sudo dnf install -y mongodb-org
    
5. 配置 MongoDB

默认情况下,MongoDB 配置文件位于 /etc/mongod.conf。你可以根据需要修改这个文件来调整 MongoDB 的行为。这里有一些常见的配置项:

  • 绑定地址:默认情况下,MongoDB 仅监听本地接口。如果需要远程访问,则应修改此选项。

    net:
      bindIp: 0.0.0.0  # 允许来自任何 IP 地址的连接;请注意,这可能会带来安全风险,请根据实际情况调整。
    
  • 端口:更改默认的端口号(27017)。

    net:
      port: 27017
    
  • 日志路径:指定日志文件的位置和格式。

    systemLog:
      destination: file
      logAppend: true
      path: /var/log/mongodb/mongod.log
    
  • 数据目录:指定存储数据库文件的位置。

    storage:
      dbPath: /var/lib/mongodb
    
  • 启用身份验证:如果你希望启用用户认证功能,请取消注释并设置以下参数。

    security:
      authorization: "enabled"
    

保存文件后记得重启 MongoDB 服务以应用更改。

6. 启动并启用 MongoDB 服务

安装完成后,启动 MongoDB 服务,并将其设置为开机自启:

sudo systemctl start mongod
sudo systemctl enable mongod
7. 验证安装

确保 MongoDB 正常工作,可以通过命令行客户端连接到数据库服务器:

mongosh

你应该会看到 MongoDB 的交互式 shell 提示符。尝试运行 db.runCommand({ connectionStatus: 1 }) 来检查当前连接状态。

8. 创建管理员用户(可选)

如果你想启用用户认证功能,可以创建一个管理员用户:

use admin
db.createUser({
  user: "admin",
  pwd: "your_password",
  roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
})

然后重启 MongoDB 服务,并使用新创建的用户登录:

mongosh -u "admin" -p "your_password" --authenticationDatabase "admin"
9. 设置防火墙规则

如果你的服务器上有防火墙(例如 UFW 或 firewalld),请确保开放 MongoDB 默认使用的端口(27017)。对于 UFW:

sudo ufw allow 27017/tcp

对于 firewalld:

sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent
sudo firewall-cmd --reload
10. 性能调优

根据你的应用场景和硬件条件,考虑对 MongoDB 进行性能调优。这可能涉及到调整分片数、副本集配置、索引策略等高级设置。建议参考官方文档获取更多信息。

11. 备份与恢复

定期备份 MongoDB 数据非常重要。你可以编写脚本来定期复制快照到安全的位置。此外,考虑使用云存储或其他远程存储解决方案来进行异地备份。

  • 逻辑备份:使用 mongodump 工具导出数据。

    mongodump --out /path/to/backup
    
  • 物理备份:直接复制数据文件夹的内容。

    cp -R /var/lib/mongodb /path/to/backup/
    
  • 恢复数据:使用 mongorestore 工具恢复逻辑备份。

    mongorestore --dir=/path/to/backup
    

戳底部名片,体验知识变现的乐趣

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

图苑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值