温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么配置MySQL内存buffer pool

发布时间:2021-11-08 11:22:47 来源:亿速云 阅读:522 作者:iii 栏目:MySQL数据库

本篇内容介绍了“怎么配置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”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI