在CentOS上使用MongoDB时,遵循最佳实践是非常重要的,以确保数据库的性能、安全性和可维护性。以下是一些关键的最佳实践:
使用YUM仓库安装:
sudo vi /etc/yum.repos.d/mongodb-org-6.0.repo
在文件中添加以下内容(适用于MongoDB 6.0版本):[mongodb-org-6.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/6.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc
sudo yum install -y mongodb-org
sudo systemctl start mongod
sudo systemctl enable mongod
sudo systemctl status mongod
security:
authorization: enabled
sudo vi /etc/security/limits.conf
加入如下内容:mongod soft nofiles 64000
mongod soft nproc 64000
use admin
db.createUser({
user: "admin",
pwd: "your_password",
roles: [
{ role: "userAdminAnyDatabase", db: "admin" },
{ role: "readWriteAnyDatabase", db: "admin" }
]
})
storage:
wiredTiger:
engineConfig:
cacheSizeGB: value
replication:
oplogSizeMB: value
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
logRotate: reindex
replication:
journal:
commitIntervalMs: value
syncPeriodSecs: value
operationProfiling:
mode: slowOp
sudo sysctl -w fs.file-max=100000
sudo sysctl -w net.ipv4.tcp_tw_reuse=1
echo never | sudo tee /proc/sys/vm/dirty_background_ratio
echo 100 | sudo tee /proc/sys/vm/dirty_ratio
/etc/mongod.conf
,在 security
部分设置 authorization: enabled
,然后重启MongoDB服务以应用配置变更:sudo systemctl restart mongod
mongo -u root -p --authenticationDatabase "admin"
创建管理员用户并为其分配角色和权限:use admin
db.createUser({
user: "admin",
pwd: "your_password",
roles: [
{ role: "root", db: "admin" }
]
})
/etc/mongod.conf
配置文件中添加 bindIp
参数,指定允许连接的IP地址或主机名:net:
port: 27017
bindIp: 192.168.1.100 # 替换为你的服务器IP地址
/etc/mongod.conf
配置文件中添加以下配置并重启服务:net:
ssl:
mode: requireSSL
PEMKeyFile: /path/to/mongodb-cert.pem
mongostat
和 mongotop
定期检查系统性能指标。explain()
方法分析查询的执行计划,根据分析结果优化索引。通过遵循这些最佳实践,您可以在CentOS上高效、安全地运行MongoDB。