InnoDB的内存结构

2022-01-25 19:13:43

InnoDB BUFFER POOL(IBP)

作用: 用来缓冲、缓存,MySQL的数据页和索引页。MySQL中最大的、最重要的内存区域。

查询:

mysql> select @@innodb_buffer_pool_size;
+---------------------------+
| @@innodb_buffer_pool_size |
+---------------------------+
|                 134217728 |
+---------------------------+
1 row in set (0.01 sec)
  • 默认大小: 128M
  • 生产建议: 物理内存的:50-80%。

在线设置:

mysql> set global innodb_buffer_pool_size=268435456;

重新登录 mysql 生效。
永久设置:

vim /etc/my.cnf 
#添加参数
innodb_buffer_pool_size=256M

重启生效。

InnoDB LOG BUFFER (ILB)

作用: 用来缓冲 redo log日志信息。

查询:

mysql> select @@innodb_log_buffer_size;
+--------------------------+
| @@innodb_log_buffer_size |
+--------------------------+
|                 16777216 |
+--------------------------+
1 row in set (0.00 sec)
  • 默认大小:16M
  • 生产建议:和innodb_log_file_size有关,1-N倍

设置方式 :

$ vim /etc/my.cnf 
innodb_log_buffer_size=33554432

重启生效:

$ /etc/init.d/mysqld restart