文档首页
MySQL 8.4 参考手册
相关文档 下载本手册
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
手册页 (TGZ) - 258.5Kb
手册页 (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 参考手册  /  ...  /  为专用 MySQL 服务器启用自动配置

17.8.12 为专用 MySQL 服务器启用自动配置

innodb_dedicated_server 启用时,InnoDB 会自动配置以下变量

只有在 MySQL 实例驻留在可以利用所有可用系统资源的专用服务器上时,才考虑启用 innodb_dedicated_server。例如,如果您在只运行 MySQL 的 Docker 容器或专用 VM 中运行 MySQL 服务器,请考虑启用 innodb_dedicated_server。如果 MySQL 实例与其他应用程序共享系统资源,则不建议启用 innodb_dedicated_server

以下信息描述了每个变量是如何自动配置的。

  • innodb_buffer_pool_size

    缓冲池大小根据服务器上检测到的内存量进行配置。

    表 17.8 自动配置的缓冲池大小

    检测到的服务器内存 缓冲池大小
    小于 1GB 128MB (默认值)
    1GB 到 4GB 检测到的服务器内存 * 0.5
    大于 4GB 检测到的服务器内存 * 0.75

  • innodb_redo_log_capacity

    重做日志容量根据服务器上可用的逻辑处理器数量进行配置。公式为 (可用逻辑处理器数量 / 2) GB,动态默认值最大为 16 GB。

    注意

    在 MySQL 8.4 之前,该值是基于可用内存而不是可用逻辑处理器。

  • innodb_log_file_size (已弃用)

    日志文件大小根据自动配置的缓冲池大小进行配置。

    表 17.9 自动配置的日志文件大小

    缓冲池大小 日志文件大小
    小于 8GB 512MB
    8GB 到 128GB 1024MB
    大于 128GB 2048MB

  • innodb_log_files_in_group (已弃用)

    日志文件数量根据自动配置的缓冲池大小进行配置。

    表 17.10 自动配置的日志文件数量

    缓冲池大小 日志文件数量
    小于 8GB round(缓冲池大小)
    8GB 到 128GB round(缓冲池大小 * 0.75)
    大于 128GB 64

    注意

    如果四舍五入后的缓冲池大小值小于 2GB,则强制执行 innodb_log_files_in_group 的最小值为 2。

如果在选项文件或其他地方显式配置了自动配置的选项,则使用显式指定的设置,并将类似于以下内容的启动警告打印到 stderr

[警告] [000000] InnoDB: 选项 innodb_dedicated_server 被忽略,因为 innodb_buffer_pool_size=134217728 被显式指定。

显式配置一个选项不会阻止其他选项的自动配置。

如果启用了 innodb_dedicated_server 并且显式配置了 innodb_buffer_pool_size,则基于缓冲池大小配置的变量将使用根据服务器上检测到的内存量计算的缓冲池大小值,而不是显式定义的缓冲池大小值。

每次启动 MySQL 服务器时,都会评估自动配置的设置,并在必要时重新配置。