安装 MongoDB 
在 Ubuntu 上安装 MongoDB Community Edition - MongoDB 手册 v7.0
安装系统为 Ubuntu 22.04。
安装 
安装依赖包:
sudo apt-get install gnupg curl导入 MongoDB GPG 密钥:
curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg --dearmor- 国内访问 
www.mongodb.org/static有点慢,可能需要走代理 
创建 MongoDB 列表文件:
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安装最新版本的 MongoDB:
sudo apt-get install -y mongodb-org路径 
目录 
如果通过软件包管理器安装,则在安装过程中会创建数据目录 /var/lib/mongodb 和日志目录 /var/log/mongodb。
默认情况下,MongoDB 使用 mongodb 用户账户运行。
如果更改运行 MongoDB 进程的用户,则必须修改数据和日志目录以赋予该用户访问这些目录的权限。
配置文件 
MongoDB 官方软件包有一份配置文件 (/etc/mongod.conf)。这些设置(如数据目录和日志目录规范)将在启动时生效。
换言之,如果在 MongoDB 实例运行时更改该配置文件,则必须才能使更改生效。
运行 
以下运行步骤假定使用官方 mongodb-org 包且使用默认设置,而非 Ubuntu 提供的非官方 mongodb 包。
初始化系统 
查看初始化系统:
ps --no-headers -o comm 1默认输出:
systemd启动 
sudo systemctl start mongod开机启动服务 
sudo systemctl enable mongod查看状态 
sudo systemctl status mongod停止 
sudo systemctl stop mongod重启 
sudo systemctl restart mongod命令行进入 
mongosh默认端口为 27017。
允许远程访问 
IP 绑定 — MongoDB 手册 v7.0
修改配置文件 sudo nano /etc/mongod.conf,将 bindIp 改为 0.0.0.0,以允许所有 IP 远程访问:
# network interfaces
net:
  port: 27017
  # bindIp: 127.0.0.1
  bindIp: 0.0.0.0重启服务:
sudo systemctl restart mongod设置内存占用上限 
Is there any option to limit mongodb memory usage? - Stack Overflow
storage.wiredTiger.engineConfig.cacheSizeGB
修改配置文件 sudo nano /etc/mongod.conf,例如,将缓存上限设为 320GB:
# engine:
storage:
  wiredTiger:
    engineConfig:
      cacheSizeGB: 320重启服务:
sudo systemctl restart mongod安装 GUI 工具 
13个Mongodb GUI可视化管理工具,总有一款适合你-阿里云开发者社区
MongoDB Compass 
- 界面比较简陋,不过可以在设置里改成暗色模式
 
注意要下载完整版(区别于只读版和隔离版) :
Studio 3T 
- 启动略慢
 - 颜值比 Compass 高很多
 - 需要注册账号,填写手机号,才能试用 30 天(免费版无法 SQL 查询)
 
连接到远程 MongoDB 
mongodb://<hostname>:27017部署副本集 
将独立运行的 mongod 转换为副本集 - MongoDB 手册 v7.0
使用配置文件部署副本集 
关闭实例服务 
sudo systemctl stop mongod配置副本集 
sudo nano /etc/mongod.conf添加如下内容:
replication:
  replSetName: "rs0"
  # oplogSizeMB: <int>
  # enableMajorityReadConcern: <boolean>replSetName: 副本集名称oplogSizeMB: oplog 大小,默认为磁盘空间的 5%enableMajorityReadConcern: 从 v5.0 开始不可更改,始终为true,
配置文件选项: replication.replSetName
启动服务 
sudo systemctl start mongod初始化副本集 
进入命令行:
mongosh初始化副本集:
rs.initiate()输出形如:
{
  info2: 'no configuration specified. Using a default configuration for the set',
  me: '<hostname>:27017',
  ok: 1
}查看副本集配置:
rs.conf()输出形如:
{
  _id: 'rs0',
  version: 1,
  term: 1,
  members: [
    {
      _id: 0,
      host: '<hostname>:27017',
      arbiterOnly: false,
      buildIndexes: true,
      hidden: false,
      priority: 1,
      tags: {},
      secondaryDelaySecs: Long('0'),
      votes: 1
    }
  ],
  ...
}查看副本集状态:
rs.status()使用命令行部署副本集 
关闭实例 
mongoshuse admin
db.adminCommand( { shutdown: 1, comment: "Convert to cluster" } )启动实例 
样例:
mongod --replSet rs0 --port 27017 --dbpath /path/to/mongodb/dbpath --authenticationDatabase "admin" --username "adminUser" --password参数说明:
--replSet: 副本集名称--port: 进程端口--dbpath: 数据库路径--authenticationDatabase,--username,--password: 身份验证
初始化副本集 
同上。