MongoDB Ubuntu版如何配置存储引擎
导读:MongoDB Ubuntu 版存储引擎配置指南 一 版本与引擎选择 在 Ubuntu 上,MongoDB 提供 DEB 包 与 官方压缩包 两种安装方式,存储引擎通过配置文件或命令行参数指定。 自 MongoDB 3.2 起,默认存储引...
MongoDB Ubuntu 版存储引擎配置指南
一 版本与引擎选择
- 在 Ubuntu 上,MongoDB 提供 DEB 包 与 官方压缩包 两种安装方式,存储引擎通过配置文件或命令行参数指定。
- 自 MongoDB 3.2 起,默认存储引擎为 WiredTiger;自 4.2 起已移除对 MMAPv1 的支持,若从 4.0 升级到 4.2+,必须将存储引擎切换为 WiredTiger。
- 在 Linux 上运行 WiredTiger,官方建议使用 XFS 作为数据承载文件系统。
二 使用配置文件设置存储引擎
- 配置文件采用 YAML 格式,常用路径为 /etc/mongod.conf(DEB 安装)或自定义路径(压缩包安装)。
- 示例(启用 WiredTiger,含常见关键项):
systemLog:
destination: file
path: /var/log/mongodb/mongod.log
logAppend: true
storage:
dbPath: /var/lib/mongodb
engine: wiredTiger
journal:
enabled: true
wiredTiger:
engineConfig:
cacheSizeGB: 2
collectionConfig:
blockCompressor: snappy
indexConfig:
prefixCompression: true
net:
port: 27017
bindIp: 127.0.0.1
processManagement:
fork: true
- 说明:
- 将 engine 设为 wiredTiger 即可启用;如需调整缓存,可设置 wiredTiger.engineConfig.cacheSizeGB(示例为 2 GB)。
- 压缩器常用 snappy,可按需改为 zstd 或关闭。
- 绑定地址建议先仅本地 127.0.0.1,远程开放前务必完成鉴权与网络安全配置。
三 命令行指定存储引擎
- 适用于快速启动或测试,直接在启动命令中声明引擎与数据目录:
mongod --storageEngine wiredTiger \
--dbpath /var/lib/mongodb-wt \
--logpath /var/log/mongodb/mongod-wt.log \
--bind_ip 127.0.0.1 \
--fork
- 如需后台运行,使用 –fork;日志与目录需提前创建并赋予 mongod 读写权限。
四 从 MMAPv1 迁移到 WiredTiger
- 适用于仍停留在 MMAPv1 的旧实例(不建议长期保留)。迁移步骤如下:
- 正常停库(如有权限可连入执行
db.shutdownServer())。 - 使用 mongodump 全量导出数据。
- 为 WiredTiger 准备全新 dbPath 并赋权。
- 在配置或命令行中将 storage.engine 设为 wiredTiger,并删除所有 MMAPv1 专属参数。
- 启动 mongod(指向新的 dbPath)。
- 使用 mongorestore 将备份数据导入新实例。
- 校验数据一致性与应用连通性。
- 正常停库(如有权限可连入执行
- 重要限制:WiredTiger 无法在由其他引擎创建的数据文件上直接启动,必须走“导出—新建目录—导入”的流程。
五 验证与常见问题
- 验证当前引擎:
mongosh --eval 'db.serverStatus().storageEngine'
- 常见问题与处理:
- 启动报错并提示锁定文件(如 mongod.lock):先确认无残留进程,删除锁文件后以 –repair 方式修复,再正常启动。
- 目录权限不足:确保 dbPath 与 logPath 对 mongod 运行用户可读写。
- 远程访问异常:检查 bindIp、防火墙与鉴权配置,生产环境切勿直接绑定 0.0.0.0 而不启用认证。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: MongoDB Ubuntu版如何配置存储引擎
本文地址: https://pptw.com/jishu/760265.html
