本篇内容介绍了“怎么配置MySQL内存buffer pool”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
 
内存buffer pool
 
MySQL在启动时默认被分配给512MB RAM;其中InnoDB buffer pool 用于缓存表数据、索引及其他的一些辅助缓冲池,为了高效的大量读,buffer pool划分pages;为了高效进行缓存管理,buffer pool 应用多种LRU(least recently used)算法,将相邻的page串成链,管理冷热数据。
 
1)         配置InnoDB Buffer Pool Size
 
innodb_buffer_pool_size为控制buffer pool大小的参数,通常推荐系统内存的50~70%。默认值128M。innodb_buffer_pool_size参数5.7后可以在线调整,必须等于或整数倍innodb_buffer_pool_chunk_size * innodb_buffer_pool_instances;
 
例如:
 
mysql> SET GLOBAL innodb_buffer_pool_size=402653184;
 
or my.cnf
 
[mysqld]
 
innodb_buffer_pool_size=402653184
 
l  innodb_buffer_pool_chunk_size参数默认值128M,只能在启动时调整(命令行或者配置文件),且以1M为单位;
 
shell> mysqld --innodb-buffer-pool-chunk-size=134217728
 
 or my.cnf
 
 [mysqld]
 
         innodb_buffer_pool_chunk_size=134217728
 
         innodb_buffer_pool_instances default value is 1;
 
l  innodb_buffer_pool_instances 默认为8 (or 1 if innodb_buffer_pool_size < 1GB),如果是Windows或者32-bit platforms,默认值为系统自动设置(autosized);其作用是划分buffer pool为多个区,提高并发效率。
 
2)         查询状态
 
mysql> SHOW STATUS WHERE Variable_name='InnoDB_buffer_pool_resize_status';
 
Buffer pool resizing progress is also logged in the server error log
 
3)         预载入buffer pool
 
要在服务器启动时预载入buffer pool,请启用选项:
 
innodb_buffer_pool_dump_at_shutdown 和innodb_buffer_pool_load_at_startup。
 
“怎么配置MySQL内存buffer pool”的内容就介绍到这里了,感谢大家的阅读。

dawei

【声明】:南充站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。