MySQL中Redo Log相关的重要参数总结

mysql> show variables like '%innodb_log%' ;
+-----------------------------+----------+
| Variable_name | Value |
+-----------------------------+----------+
| innodb_log_buffer_size | 16777216 |
| innodb_log_checksums | ON |
| innodb_log_compressed_pages | ON |
| innodb_log_file_size | 50331648 |
| innodb_log_files_in_group | 2 |
| innodb_log_group_home_dir | ./ |
| innodb_log_write_ahead_size | 8192 |
+-----------------------------+----------+

innodb_log_buffer_size 参数用来设置缓存还未提交的事务的缓冲区的大小,通俗来说也就是日志缓冲区的大小。一般默认值16MB是够用的,但如果事务之中含有blog/text等大字段,这个缓冲区会被很快填满会引起额外的IO负载。可通过查看innodb_log_waits状态,如果不为0的话,则需要增加innodb_log_buffer_size。

innodb_log_file_size 用于设定MySQL日志组中每个日志文件的大小。单位为字节,它的默认值(MySQL 5.6.8以及之后版本)默认为48M. 二进制日志文件大小(innodb_log_file_size * innodb_log_files_in_group)不能超过512GB.

innodb_log_files_in_group指定日志组个数。默认为2个日志组。

MySQL 8.0引入了innodb_dedicated_server自适应参数,可基于服务器的内存来动态设置innodb_buffer_pool_size,innodb_log_file_size和innodb_flush_method。

posted @ 2021-10-10 22:18  beawh  阅读(182)  评论(0编辑  收藏  举报