加入收藏 | 设为首页 | 会员中心 | 我要投稿 武汉站长网 (https://www.027zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

怎么配备MySQL内存buffer pool

发布时间:2021-12-23 10:51:58 所属栏目:MySql教程 来源:互联网
导读:本篇内容介绍了怎么配置MySQL内存buffer pool的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 内存buffer pool MySQL在启动时默认被分配给512MB RAM;
本篇内容介绍了“怎么配置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”的内容就介绍到这里了,感谢大家的阅读。

(编辑:武汉站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读