在CentOS上配置MongoDB的存储引擎可以通过修改MongoDB的配置文件 /etc/mongod.conf
来实现。以下是详细的步骤和建议:
如果你还没有安装MongoDB,可以使用以下命令进行安装:
sudo yum install -y mongodb-org
启动MongoDB服务安装完成后,启动MongoDB服务并设置开机自启动:
sudo systemctl start mongodsudo systemctl enable mongod
修改MongoDB配置文件使用文本编辑器(如 vi
或 nano
)打开并编辑MongoDB的配置文件:
sudo vi /etc/mongod.conf
配置存储引擎在配置文件中找到 storage
部分,并根据需要修改存储引擎。例如:
使用 WiredTiger 存储引擎(默认):
storage:dbPath: /var/lib/mongojournal:enabled: trueengine: wiredTiger
使用 MMAPv1 存储引擎(已弃用):
storage:dbPath: /var/lib/mongojournal:enabled: trueengine: mmapv1
请注意,从MongoDB 3.2版本开始,MMAPv1存储引擎已被弃用,并在MongoDB 4.0及更高版本中不再可用。因此,除非你有特别的理由必须使用MMAPv1,否则建议使用WiredTiger存储引擎。
保存并退出配置文件保存对配置文件的修改并退出编辑器。
重启MongoDB服务为了使配置更改生效,需要重启MongoDB服务:
sudo systemctl restart mongod
验证存储引擎你可以通过连接到MongoDB并执行以下命令来验证当前使用的存储引擎:
mongo
在MongoDB shell中,运行以下命令:
db.runCommand({ connectionStatus: 1 })
在输出结果中,查找 storageEngine
字段,它将显示当前使用的存储引擎。
WiredTiger:
文档空间分配方式:采用B+Tree存储。并发级别:文档级别锁。数据压缩:支持snappy(默认)和zlib压缩。优势:相比MMAPv1无压缩,空间节省数倍;内存使用WiredTiger可以指定内存的使用大小;Cache使用WiredTiger引擎采用了二阶缓存WiredTiger Cache, File System Cache来保证Disk上数据的一致性。MMAPv1:
文档空间分配方式:线性存储。并发级别:表级锁。数据压缩:无压缩。特点:从MongoDB 3.2版本开始不再支持MMAPv1存储引擎。通过以上步骤和建议,你可以在CentOS上配置和选择合适的MongoDB存储引擎。根据你的需求选择合适的存储引擎,并确保配置文件正确无误后重启MongoDB服务即可。