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 在磁盘的文件进行读取,一般使用这个变量的情况,较低。