本地数据库

在本页面

Overview

每个mongod实例都有自己的local数据库,该数据库存储复制过程中使用的数据以及其他特定于实例的数据。 local数据库对复制不可见:local数据库中的集合不被复制。

所有 mongod 实例上的集合

  • local. startup_log
    • 启动时,每个mongod实例都会将文档包含mongod实例本身的诊断信息和主机信息插入startup_logstartup_log是上限集合。此信息主要用于诊断目的。

例如,以下是startup_log集合中文档的原型:

{
  "_id" : "<string>",
  "hostname" : "<string>",
  "startTime" : ISODate("<date>"),
  "startTimeLocal" : "<string>",
  "cmdLine" : {
        "dbpath" : "<path>",
        "<option>" : <value>
  },
  "pid" : <number>,
  "buildinfo" : {
        "version" : "<string>",
        "gitVersion" : "<string>",
        "sysInfo" : "<string>",
        "loaderFlags" : "<string>",
        "compilerFlags" : "<string>",
        "allocator" : "<string>",
        "versionArray" : [ <num>, <num>, <...> ],
        "javascriptEngine" : "<string>",
        "bits" : <number>,
        "debug" : <boolean>,
        "maxBsonObjectSize" : <number>
  }
}

startup_log集合中的文档包含以下字段:

  • local.startup_log. _id

    • 包括系统主机名和毫秒纪元值。
  • local.startup_log. hostname

    • 系统的主机名。
  • local.startup_log. startTime

    • 一个 UTC ISODate值,反映了服务器启动的时间。
  • local.startup_log. startTimeLocal

    • 在系统的本地时区报告startTime的字符串。
  • local.startup_log. cmdLine

    • 嵌入式文档报告mongod运行时选项及其值。
  • local.startup_log. pid

    • 此过程的过程标识符。
  • local.startup_log. buildinfo

    • 嵌入式文档,报告有关用于编译此mongod的构建环境和设置的信息。这与buildInfo相同的输出。参见buildInfo

副本集成员上的收藏集

  • local.system. replset

    • local.system.replset将副本集的配置对象保存为单个文档。要查看对象的配置信息,请从mongo shell 发出rs.conf()。您也可以直接查询此集合。
  • local.oplog. rs

  • local.replset. minvalid

    • 它包含一个对象,副本集在内部使用该对象来跟踪复制状态。
  • local. slaves

    • *在版本 3.0 中已删除:*副本集成员不再将集合的复制状态镜像到local.slaves集合。请改用rs.status()

主/从复制中使用的集合

master/slave复制中,local数据库包含以下集合:

  • 在高手:

  • local.oplog. $main

    • 这是主从配置的操作日志。
  • local. slaves

  • 在每个奴隶上:

  • local. sources

    • 这包含有关从属服务器的主服务器的信息。

Restrictions

  • 针对local的可重试写入

    • 您不能在启用retryable writes的情况下对local数据库中的集合执行写操作。

兼容 MongoDB 3.6 的官方驱动程序默认情况下会禁用可重试的写入。要显式禁用可重试写入,请在connection string中为 MongoDB 集群指定retryWrites=false