十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
本篇内容介绍了“怎么配置MySQL内存buffer pool”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
成都创新互联公司主要从事成都网站设计、网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务晋中,10年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575
内存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”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!