在线调整通过innodb_buffer_pool_size不用重启mysql进程
MySQL5.7以前,调整通过innodb_buffer_pool_size需要重启mysql进程才可以生效。
建议业务低峰时间执行
1当前大小128
<代码> root@localhost: mysql3306。袜子((没有))在显示变量如“%通过innodb_buffer_pool_size %”; + - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - + | | Variable_name |值 + - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - + 通过innodb_buffer_pool_size | 134217728 | | + - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - + 行集(0.03秒) root@localhost: mysql3306。袜子((没有))在选择134217728/1024/1024; +---------------------+ | 134217728/1024/1024 | +---------------------+ | 128.00000000 | +---------------------+ 代码行集(0.00秒)>
2动态调整为256
<代码> root@localhost: mysql3306。袜子((没有))在全球通过innodb_buffer_pool_size=256 * 1024 * 1024; 查询好,0行影响(0.18秒) root@localhost: mysql3306。袜子((没有))在显示变量如“%通过innodb_buffer_pool_size %”; + - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - + | | Variable_name |值 + - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - + 通过innodb_buffer_pool_size | 268435456 | | + - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - + 行集(0.02秒) root@localhost: mysql3306。袜子((没有))在选择268435456/1024/1024; +---------------------+ | 268435456/1024/1024 | +---------------------+ | 256.00000000 | +---------------------+ 行集(0.00秒) root@localhost: mysql3306。袜子((没有))在选择版本(); + - - - - - - - - - - - - + | |版本() + - - - - - - - - - - - - + | 5.7.18-log | + - - - - - - - - - - - - + 代码行集(0.03秒)>
调整时,内部会把数据页移动到一个新的位置,单位是块。如果想提升移动速度,则需要调整
innodb_buffer_pool_chunk_size的参数大,小默认是128
innodb_buffer_pool_chunk_size的参数大,小默认是128