惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
爱范儿
爱范儿
H
Help Net Security
Last Week in AI
Last Week in AI
The Cloudflare Blog
博客园 - 三生石上(FineUI控件)
小众软件
小众软件
IT之家
IT之家
aimingoo的专栏
aimingoo的专栏
大猫的无限游戏
大猫的无限游戏
Jina AI
Jina AI
Google DeepMind News
Google DeepMind News
B
Blog
C
Check Point Blog
T
Tailwind CSS Blog
云风的 BLOG
云风的 BLOG
D
Docker
Recent Announcements
Recent Announcements
Vercel News
Vercel News
博客园 - 聂微东
阮一峰的网络日志
阮一峰的网络日志
MyScale Blog
MyScale Blog
The GitHub Blog
The GitHub Blog
Stack Overflow Blog
Stack Overflow Blog
雷峰网
雷峰网
人人都是产品经理
人人都是产品经理
月光博客
月光博客
F
Fortinet All Blogs
Blog — PlanetScale
Blog — PlanetScale
B
Blog RSS Feed
The Register - Security
The Register - Security
V
Visual Studio Blog
F
Full Disclosure
Hugging Face - Blog
Hugging Face - Blog
T
Threat Research - Cisco Blogs
Latest news
Latest news
PCI Perspectives
PCI Perspectives
Cisco Talos Blog
Cisco Talos Blog
博客园 - Franky
D
DataBreaches.Net
A
Arctic Wolf
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
G
Google Developers Blog
P
Palo Alto Networks Blog
Engineering at Meta
Engineering at Meta
Microsoft Azure Blog
Microsoft Azure Blog
T
Tenable Blog
L
LINUX DO - 热门话题
Spread Privacy
Spread Privacy

博客园 - 星河赵

LangChain AI 客服 Agent 项目学习笔记 海外stripe 聚合支付 ffmpeg 介绍 AE中制作带可替换屏幕的视频模版 记录|AI超写实短视频制作流程+提示词 服务端部署Vue 在Pycharm 中使用 Python Module 方式启动 uvicorn Conda 虚拟环境完整指南 CentOS / OpenCloudOS 服务器如何安装远程桌面 Python 项目模块导入问题解决方案 2026 谷歌 Antigravity 最新安装教程! Vscode 常用配置 如何修改 Redis 数据存放路径 Vue 后台项目 Nginx 部署笔记(SPA / Vite 构建) Python -m 用法(极简版) mac 微信双开新方法 nginx 对静态资源进行压缩 HMAC-SHA256 请求签名与验签实践(Python 可直接复用) python fast api websocket 连接事例 在 Flask 中并发执行任务 Vscode 配置快捷键和JetBrains(pycharm)一样 Linux 服务器的 SSH 登录端口号 从默认的 22 改掉 配置 Docker 镜像加速器 python fast api 部署
Ubuntu 上安装 MongoDB 并启用事务的完整流程
星河赵 · 2025-12-16 · via 博客园 - 星河赵

本流程以 Ubuntu 20.04/22.04 为例,安装 MongoDB 7.0,并将其配置为 单节点副本集(Replica Set)以满足事务要求。

阶段一:安装 MongoDB 服务器

1. 导入 MongoDB 公钥

sudo apt update
sudo apt install gnupg curl -y
curl -fsSL https://pgp.mongodb.com/server-7.0.asc | \
   sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg \
   --dearmor

2. 创建 MongoDB List 文件

为 APT 添加 MongoDB 仓库源(请根据您的 Ubuntu 版本选择对应的 URL):

# Ubuntu 22.04 (Jammy)
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

# Ubuntu 20.04 (Focal)
# echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list

3. 安装 MongoDB Packages

sudo apt update
sudo apt install -y mongodb-org

阶段二:配置副本集和外部访问

MongoDB 的配置文件通常是 /etc/mongod.conf。我们必须修改此文件以启用远程访问和副本集功能。

1. 编辑配置文件

使用 sudo 权限编辑配置文件:

# /etc/mongod.conf
net:
  port: 33816            # 【修改点 1】确认端口号是您希望使用的 (例如 33816)
  bindIp: 0.0.0.0        # 【修改点 2】VITAL: 监听所有 IP 地址,允许外部连接

3. 添加副本集配置 (Replication)

在文件的末尾添加 replication 配置块,指定副本集的名称(例如 rs0)。

# /etc/mongod.conf
replication:
  replSetName: rs0       # 【修改点 3】设置副本集名称,这是启用事务的关键

4. 重启 MongoDB 服务

保存并关闭文件后,使用 systemctl 重启服务以应用更改:

sudo systemctl daemon-reload
sudo systemctl restart mongod

阶段三:初始化单节点副本集 (启用事务)

尽管服务器已启动副本集模式,但它尚未被“初始化”。初始化是使节点具备 PRIMARY 状态的关键一步。

1. 连接到 MongoDB Shell

使用您在配置文件中指定的端口连接到本地 MongoDB:

# 如果使用 33816 端口
mongosh --port 33816

2. 初始化副本集

在 Shell 中执行以下命令,将当前节点配置为单成员副本集的主节点:

3. 验证状态

等待几秒钟后,运行 rs.status()

✅ 成功标志: 在输出中,您应该看到 stateStr 字段显示为 PRIMARY