MySQL My.cnf参数梳理与延伸 (MYSQL 8 INNODB 类)
开头还是介绍一下群,如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, Oceanbase, Sql Server等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请联系 liuaustin3 ,(共1720人左右 1 + 2 + 3 + 4) 3群突破 490已关闭自由申请如需加入请提前说明,新人会进4群(210+)准备开5群,另欢迎 OpenGauss 的技术人员加入。
在MySQL8 innodb 参数中有一些需要在在重新梳理,发现一些新版本的添加的参数,更新知识,也将老的知识在重新唤醒。
mysql> show variables like 'innodb_buffer%';<br>+-------------------------------------+----------------+<br>| Variable_name | Value |<br>+-------------------------------------+----------------+<br>| innodb_buffer_pool_chunk_size | 134217728 |<br>| innodb_buffer_pool_dump_at_shutdown | ON |<br>| innodb_buffer_pool_dump_now | OFF |<br>| innodb_buffer_pool_dump_pct | 25 |<br>| innodb_buffer_pool_filename | ib_buffer_pool |<br>| innodb_buffer_pool_in_core_file | ON |<br>| innodb_buffer_pool_instances | 2 |<br>| innodb_buffer_pool_load_abort | OFF |<br>| innodb_buffer_pool_load_at_startup | ON |<br>| innodb_buffer_pool_load_now | OFF |<br>| innodb_buffer_pool_size | 2147483648 |<br>+-------------------------------------+--------------<br>
9 innodb_buffer_pool_dump_now 参数是即时参数,主要的作用是将当前的 innodb_buffer_pool 中的数据刷新并变成文件通过
set global innodb_buffer_pool_dump_now = ON; 在数据库内部进行相关的工作,权限必须为super 和 sys .
10 innodb_buffer_pool_dump_pct 参数为每个POOL 每次刷新到磁盘的数据占总需要刷新数据的百分比,默认为25%
11 innodb_buffer_pool_filename 参数为刷新内存的数据到磁盘上文件的文件名,默认为ib_buffer_pool
12 innodb_buffer_pool_instances 参数是我们经常在安装数据库时进行调节的,这个参数需要根据当前的CPU的数量进行调节,一般是CPU - 2,通过这个参数可以将内存块进行分割,通过CPU 和内存更有效的匹配达到更有效的内存使用效率的提升。
13 innodb_buffer_pool_load_at_startup 这个参数本身主要的目的是在数据库开启时,将关闭或手动操作时的数据,加载到数据库innodb buffer 中。
14 innodb_buffer_pool_load_now 此参数和上面的参数一样都是即时变量,在设置时,会将当前buffer 在磁盘的文件进行读取,一般使用这个变量的情况,较低。