注册

MongoDB数据库安装部署及警告优化

MongoDB数据库安装部署及警告优化攻略

安装 MongoDB

在 MongoDB 官网下载页面(https://www.mongodb.com/download-center/community ),下载符合您操作系统的 MongoDB 安装包,进行安装。

Windows 安装步骤

  1. 打开下载的 .msi 安装文件,点击 Next

  2. 同意 License 协议,点击 Next

  3. 选择安装路径,点击 Next

  4. 选择存储引擎,点击 Next。建议选择 WiredTiger 存储引擎,因为它在写入和查询方面比默认的 MMAPv1 引擎更好。

  5. 选择安装 MongoDB 的服务类型,可以选择完整安装(包括 MongoDB 服务和 MongoDB Shell)或者仅安装 MongoDB 服务。点击 Next

  6. 配置 MongoDB 服务。您可以选择将 MongoDB 服务作为 Windows 服务运行或者手动启动 MongoDB 服务。点击 Next

  7. 点击 Install,开始安装 MongoDB。

  8. 安装成功之后,点击 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 不需要用户名和密码即可访问。为了保障数据安全,我们建议开启身份验证。

  1. 启动 MongoDB 进程,执行以下命令:

mongod --auth --dbpath 数据库路径

  1. 创建管理员帐号。在终端中执行以下命令:

```
mongo

use admin

db.createUser({user:"admin",pwd:"password",roles:["root"]})
```

请将 password 替换为您的管理员密码。

  1. 创建普通用户。在终端中执行以下命令:

```
use YourDatabaseName

db.createUser({user:"username",pwd:"password",roles:["readWrite"]})
```

请将 YourDatabaseName 替换为您的数据库名称,将 username 替换为您的用户名,将 password 替换为您的密码。

  1. 修改 MongoDB 配置文件。找到 MongoDB 配置文件 mongod.cfg,添加以下配置:

security:
authorization: enabled

  1. 重启 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.

请按照以下步骤解决:

  1. 停止 MongoDB 进程。

  2. 删除 mongod.lock 文件。在终端中执行以下命令:

rm /data/db/mongod.lock

  1. 重新启动 MongoDB 进程。

示例二:警告信息“Too many open files.”

这个警告信息通常出现在 MongoDB 打开的文件数超过系统限制时。

请按照以下步骤解决:

  1. 修改系统文件打开限制数。在终端中执行以下命令:

sudo sysctl -w fs.file-max=2000000

  1. 修改 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

  1. 重启 MongoDB。

以上就是 MongoDB 数据库安装部署及警告优化的完整攻略。