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 数据库安装部署及警告优化的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MongoDB数据库安装部署及警告优化 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • python将类似json的数据存储到MySQL中的实例

    下面我来分享一下关于“python将类似json的数据存储到MySQL中”的攻略。 步骤一:创建表格 首先需要在MySQL数据库中创建一张表格,用于存储 JSON 数据。表格的结构应该包含键值对两个字段,分别对应 JSON 数据的键和值。 我们可以使用以下 SQL 语句创建这个表格: CREATE TABLE json_data ( id int(11) N…

    MongoDB 2023年5月16日
    00
  • MongoDB DBRefs(文档参考类型)详解

    什么是DBRefs? DBRefs是MongoDB中的一种参考文档类型,它可以用来连接不同集合的文档。DBRefs由两部分组成:一个是参考的集合的名字,另一个是参考的文档的_id。 DBRefs与Embedded documents有何不同? Embedded documents是内嵌在另一个文档中的文档,它们使用嵌套的JSON结构来组织数据。相比之下,DB…

    MongoDB 2023年3月14日
    00
  • mongoDB4.2.8备份恢复与导出导入(推荐)

    MongoDB 4.2.8 备份恢复与导出导入攻略 1. 备份恢复 备份方法 在 MongoDB 中,采用 mongodump 工具进行备份。使用 mongodump 工具进行数据库备份时,MongoDB 将整个集合的所有数据和索引导出到 BSON 文件中。 以下是备份的具体步骤: 打开命令行工具或 shell 终端,输入如下命令进行备份: mongodum…

    MongoDB 2023年5月16日
    00
  • PHP与MongoDB简介|安全|M+PHP应用实例详解

    PHP与MongoDB简介 PHP是一种在Web开发领域应用广泛的编程语言,其可以快速构建Web应用并提供强大的功能。而MongoDB则是一种广泛应用于各种应用场景的NoSQL数据库,其具有高性能、可伸缩、高可用等优点。 PHP与MongoDB的结合可以提供出色的性能和可伸缩性。PHP使用MongoDB的扩展程序可以轻松地通过PHP进行与MongoDB的交互…

    MongoDB 2023年5月16日
    00
  • MongoDB如何查看版本信息详解

    想要查看MongoDB版本信息,一般有两种方法: 方法一:使用mongo命令行工具查看版本 首先,需要通过命令行连接MongoDB服务,连接命令为:mongo <host>:<port>/<database>。 例如,连接到本地MongoDB服务,命令为:mongo localhost:27017/test。 连接成功后,…

    MongoDB 2023年5月16日
    00
  • SpringBoot整合LDAP的流程分析

    下面我将为您详细讲解“SpringBoot整合LDAP的流程分析”的完整攻略。 简介 LDAP全称是Lightweight Directory Access Protocol,它是一种分布式的目录服务协议,通常被用来管理集中式的用户身份数据。SpringBoot是一种基于Spring Framework的快速开发脚手架,它可以简化Spring应用的配置和开发…

    MongoDB 2023年5月16日
    00
  • 基于MySQL到MongoDB简易对照表的详解

    首先,需要说明的是MySQL和MongoDB是两种不同的数据库管理系统,它们之间存在很多差异和特点。因此,在使用这两种数据库系统时需要注意它们之间的差异和相应的使用方式。对此,我们提供了一份基于MySQL到MongoDB简易对照表的详解,以帮助用户更好地理解两者之间的关系和使用方法。 该对照表主要分为五个部分:数据类型、数据定义、数据操作、查询操作和聚合操作…

    MongoDB 2023年5月16日
    00
  • MongoDB利用oplog恢复数据的方法

    当 MongoDB 的主服务器发生故障时,管理员可以利用副本集中的数据、oplog 和其他工具来恢复数据。下面是利用 oplog 恢复数据的方法: 1. 确定恢复点 首先需要确定故障发生的时刻,也就是需要恢复到的时间点。可以通过查询主节点的 oplog 来确定时间点。使用以下命令查找 oplog 中的最后一个条目: db.oplog.rs.find().so…

    MongoDB 2023年5月16日
    00
合作推广
合作推广
分享本页
返回顶部