10bet网址
MySQL 8.0参考手册
相关的文档10bet官方网站 下载本手册
PDF(美国高级主任)- 41.9 mb
PDF (A4)- 42.0 mb
手册页(TGZ)- 266.1 kb
手册页(Zip)- 376.0 kb
信息(Gzip)- 4.0 mb
信息(邮政编码)- 4.0 mb
本手册节选

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

15.8.12开启MySQL专用服务器自动配置

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

只考虑启用innodb_dedicated_server如果MySQL实例驻留在一个专用服务器上,它可以使用所有可用的系统资源。例如,如果您在Docker容器或仅运行MySQL的专用虚拟机中运行MySQL服务器,则考虑启用。启用innodb_dedicated_server如果MySQL实例与其他应用程序共享系统资源,则不建议使用。

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

  • 通过innodb_buffer_pool_size

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

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

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

  • innodb_log_file_size

    从MySQL 8.0.14开始,日志文件大小根据自动配置的缓冲池大小进行配置。

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

    缓冲池大小 日志文件大小
    小于8GB 512年mib
    8GB ~ 128GB 1024年mib
    大于128GB 2048年mib

    请注意

    在MySQL 8.0.14之前,innodb_log_file_size变量根据服务器上检测到的内存量自动配置,如下所示:

    表15.10自动配置日志文件大小(MySQL 8.0.13及以前版本)

    检测到的服务器内存 日志文件大小
    < 1 gb 48MiB(默认值)
    < = 4 gb 128年mib
    < = 8 gb 512年mib
    < = 16 gb 1024年mib
    > 16 gb 2048年mib

  • innodb_log_files_in_group

    日志文件的数量根据自动配置的缓冲池大小(以gb为单位)进行配置。自动配置innodb_log_files_in_group变量是在MySQL 8.0.14中添加的。

    表15.11自动配置的日志文件数

    缓冲池大小 日志文件数
    小于8GB 圆(缓冲池大小
    8GB ~ 128GB 圆(缓冲池大小* 0.75)
    大于128GB 64

    请注意

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

  • innodb_flush_method

    刷新方法设置为O_DIRECT_NO_FSYNCinnodb_dedicated_server启用。如果O_DIRECT_NO_FSYNC设置不可用,默认为innodb_flush_method使用Setting。

    InnoDB使用O_DIRECT刷新I/O,但跳过fsync ()每次写操作后的系统调用。

    警告

    在MySQL 8.0.14之前,此设置不适合XFS和EXT4等文件系统,这些文件系统需要一个fsync ()同步文件系统元数据更改的系统调用。

    从MySQL 8.0.14开始,fsync ()在创建新文件之后、增加文件大小之后和关闭文件之后调用,以确保同步文件系统元数据的更改。的fsync ()每次写操作后仍然会跳过系统调用。

    如果重做日志文件和数据文件位于不同的存储设备上,并且在数据文件写入从非电池支持的设备缓存中刷新之前发生意外退出,则可能导致数据丢失。如果您使用或打算为重做日志文件和数据文件使用不同的存储设备,并且您的数据文件驻留在具有缓存的设备上,且该缓存没有电池支持,请使用O_DIRECT代替。

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

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

显式配置一个选项并不妨碍自动配置其他选项。

如果innodb_dedicated_server启用,并且通过innodb_buffer_pool_size在选项文件中显式配置,innodb_log_file_sizeinnodb_log_files_in_group仍然根据根据服务器上检测到的内存量计算的缓冲池大小值自动配置,即使该值不用于配置缓冲池的大小。

每次MySQL服务器启动时,自动配置的设置都会被评估和重新配置(如果需要的话)。