MySQL 8.0 新特性:innodb_dedicated_server

文若3年前技术文章1390


一、前言

  1. Innodb Dedicated Server 是 8.0 版本推出的一个参数,开启之后可以根据服务器的配置自适应 innodb 引擎中的一些重要影响性能的参数,默认是关闭的。

carbon.png

二、参数测试

  1. 使用 mysql_install 脚本快速部署一台 MySQL 8.0 实例:

carbon.png

  1. 然后我们测试一下这个参数,修改配置文件后重启数据库:

carbon.png

  1. 下面是未开启 innodb_dedicated_server 使用 mysql_install 脚本安装 MySQL 参数信息:

carbon-1.png

  1. 此时为们使用的系统配置是 2C4G 发现 MySQL 为我们自适应四个参数分别是:

    1. innodb_buffer_pool_size:innodb 引擎中最大的缓冲池;

    2. innodb_log_file_size:Redo 重做日志的使用空间;

    3. innodb_flush_method:控制数据文件及重做日志打开及刷写的模式,可以参考 MySQL 官方文档

    4. innodb_log_files_in_group (MySQL 8.0.14 起):重做日志的组数;

三、详细介绍

  1. innodb_buffer_pool_size 自适应策略:

    1. 物理内存 < 1 G:128M (默认)

    2. 物理内存 1G~4G:detected server memory * 0.5

    3. 物理内存 > 4G:detected server memory * 0.75


  1. innodb_log_file_size 自适应策略:在 8.0.14 之前根据服务器物理内存设定,之后会根据 buffer pool 适应,我们重点介绍 8.0.14 之后的 GA 版,详细请参阅 MySQL 官方文档

    1. buffer pool < 8G:512M

    2. buffer pool 8G~128G:1024M

    3. buffer pool > 128G:2048M


  1. innodb_flush_method 自适应策略:

会被默认设置为 O_DIRECT_NO_FSYNC 模式,如果 O_DIRECT_NO_FSYNC 模式不可用则会使用默认值。


四、注意事项

  1. 该参数不支持在线修改,需要重启数据库;

  2. 如果配置中已经显式指定对应的参数,则会已配置文件为准,不会自适应,也就是说如果想自适应那几个参数,开启 innodb_dedicated_server 即可,不需要再设定;

  3. 单机多实例不建议使用;

  4. 只适用于 innodb 引擎,如果业务使用其它存储引擎则该参数也无意义;

  5. 对云厂商很优化,扩展配置后不需要考虑这些重要参数。

-- 文章参考 MySQL 官方文档


相关文章

EM部署HBASE

EM部署HBASE

先获取HBASE包,放在em节点中,在HBASE包所在的服务器上执行,127.0.0.1指向的是em服务器的ip。# {package_name}表示为具体的tar包名称 curl http://1...

通过SDK上传oss文件报错“413 Request Entity Too Large”

通过SDK上传oss文件报错“413 Request Entity Too Large”

问题描述通过SDK上传oss文件返回错误如下,客户反馈上传的文件不大,只有200M。浏览器端访问返回504 timeout报错,同客户核实是每次到1min 30s时候上传大文件会报错com.aliyu...

MySQL 8.0 不可见索引使用

一、具体信息1、在提供 SQL 优化意见的时候包括了两个冗余索引的内容,具体内容如下:查看慢 SQL 的时候发现 database 库 table 表中存在冗余索引,具体冗余索引情况如下:KEY `k...

DDoS木马攻击处理

DDoS木马攻击处理

问题描述云安全中心提示安全告警如下:恶意脚本代码执行DDoS木马问题解决安全组方向封禁查看次访问地址205.185.119.110 地址为国外一地址,去下载恶意脚本,因此在服务器出入安全组方向做了封禁...

RDS通过DMS管理登录处理

RDS通过DMS管理登录处理

问题描述无法通过DMS管理登录进入数据库,报错如下:问题处理方式一在RDS控制台新建账号 账号管理--创建账号将此数据库添加进DMS在DMS控制台--数据库实例--新增实例将新建的数据库账号信息进行录...

LINUX 安全运维-文件安全

LINUX 安全运维-文件安全

文件的ACL针对文件以及文件夹我们在新建的时候,通常会有一个默认的权限:[rootobogontmplmkdirtest[rootcbogontmp]touchtestxt[rootcbogontmp...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。