MongoDB数据库安装部署及警告优化攻略
安装 MongoDB
在 MongoDB 官网下载页面(https://www.mongodb.com/download-center/community ),下载符合您操作系统的 MongoDB 安装包,进行安装。
Windows 安装步骤
-
打开下载的
.msi
安装文件,点击Next
。 -
同意 License 协议,点击
Next
。 -
选择安装路径,点击
Next
。 -
选择存储引擎,点击
Next
。建议选择WiredTiger
存储引擎,因为它在写入和查询方面比默认的MMAPv1
引擎更好。 -
选择安装 MongoDB 的服务类型,可以选择完整安装(包括 MongoDB 服务和 MongoDB Shell)或者仅安装 MongoDB 服务。点击
Next
。 -
配置 MongoDB 服务。您可以选择将 MongoDB 服务作为 Windows 服务运行或者手动启动 MongoDB 服务。点击
Next
。 -
点击
Install
,开始安装 MongoDB。 -
安装成功之后,点击
Finish
,MongoDB 就已经安装成功了。
Linux 安装步骤
在终端中执行以下命令:
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.4.0.tgz
tar -zxvf mongodb-linux-x86_64-4.4.0.tgz
sudo mkdir -p /data/db
sudo mkdir -p /var/log/mongodb
sudo cp -r mongodb-linux-x86_64-4.4.0/ /usr/local/mongodb
sudo ln -s /usr/local/mongodb/bin/mongod /usr/bin/mongod
开启身份验证
默认情况下,MongoDB 不需要用户名和密码即可访问。为了保障数据安全,我们建议开启身份验证。
- 启动 MongoDB 进程,执行以下命令:
mongod --auth --dbpath 数据库路径
- 创建管理员帐号。在终端中执行以下命令:
```
mongo
use admin
db.createUser({user:"admin",pwd:"password",roles:["root"]})
```
请将 password
替换为您的管理员密码。
- 创建普通用户。在终端中执行以下命令:
```
use YourDatabaseName
db.createUser({user:"username",pwd:"password",roles:["readWrite"]})
```
请将 YourDatabaseName
替换为您的数据库名称,将 username
替换为您的用户名,将 password
替换为您的密码。
- 修改 MongoDB 配置文件。找到 MongoDB 配置文件
mongod.cfg
,添加以下配置:
security:
authorization: enabled
- 重启 MongoDB,使修改的配置生效。
警告优化
在 MongoDB 中,警告是指超出 MongoDB 预期的操作或系统状况时 MongoDB 会输出的警告信息。对于生产环境,需要重视这些警告信息并且对其进行优化。
以下是两条示例说明:
示例一:警告信息“Detected unclean shutdown - /data/db/mongod.lock is not empty.”
当 MongoDB 非正常退出时,会留下一个 mongod.lock
文件。如果此时再次启动 MongoDB ,就会看到如下警告:
Detected unclean shutdown - /data/db/mongod.lock is not empty.
请按照以下步骤解决:
-
停止 MongoDB 进程。
-
删除
mongod.lock
文件。在终端中执行以下命令:
rm /data/db/mongod.lock
- 重新启动 MongoDB 进程。
示例二:警告信息“Too many open files.”
这个警告信息通常出现在 MongoDB 打开的文件数超过系统限制时。
请按照以下步骤解决:
- 修改系统文件打开限制数。在终端中执行以下命令:
sudo sysctl -w fs.file-max=2000000
- 修改 MongoDB 配置文件中的
ulimit
值。找到 MongoDB 配置文件mongod.cfg
,添加以下配置:
systemLog:
destination: file
path: /var/log/mongodb/mongod.log
logAppend: true
quiet: false
traceAllExceptions: true
verbosity: 1
processManagement:
fork: true
pidFilePath: /var/run/mongodb/mongod.pid
timeZoneInfo: /usr/share/zoneinfo
storage:
dbPath: /data/db
directoryPerDB: true
journal:
enabled: true
commitIntervalMs: 100
engine: wiredTiger
WiredTiger:
engineConfig:
cacheSizeGB: 4
statisticsLogDelaySecs: 0
collectionConfig:
blockCompressor: zstd
net:
bindIp: 127.0.0.1
port: 27017
processManagement:
fork: true
pidFilePath: /var/run/mongodb/mongod.pid
ulimit:
nproc: 64000
nofile: 64000
- 重启 MongoDB。
以上就是 MongoDB 数据库安装部署及警告优化的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MongoDB数据库安装部署及警告优化 - Python技术站