简单聊聊innodb_buffer_pool_size

Innodb_buffer_pool_size

缓冲池:(用于缓存表和索引数据的)内存区域,以字节为单位默认值是128MB,最大值取决于cpu架构,在32位系统上最大值为2的32次方-1,在64位系统上大小为2的64次方-1。当缓冲池大小大于1GB时,将其设置 innodb_buffer_pool_instances大于1的值可以改善繁忙服务器上的可伸缩性.

较大的缓冲池需要减轻服务器的磁盘 I/O 才能多次访问同一表数据,在数据库的专用服务器 上,可以将缓冲池大小设置为计算机的物理内存的80%。

innodb_buffer_pool_size大小配置注意事项:

  • 1、物理内存竞争可能会影响操作系统中的页面调度
  • 2、InnoDB为缓冲区和控制结构保留额外的内存,以便分配的总空间比指定的缓冲池大10%
  • 3、缓冲池的地址必须是连续的,这在带有特定地址加载DLL的Windows系统上可能是一个问题(要想充分发挥innod的特性,Linux是个比较不错的选择)
  • 4、初始化缓冲池的时间大致与其大小成正比。在具有大缓冲池的实例上,初始化时间较长,为了减少初始化时间,您可以在服务器关闭或者重启时保存缓冲池的状态,并在服务器启动时将其恢复。

缓冲池大小必须始终等于innodb_buffer_pool_chunk_size * *的倍数innodb_buffer_pool_instances。如果将缓冲池大小更改为不等于innodb_buffer_pool_chunk_size * 或*的倍数innodb_buffer_pool_instances,则缓冲池大小将自动调整为等于innodb_buffer_pool_chunk_size * *的倍数innodb_buffer_pool_instances

innodb_buffer_pool_size可以动态设置,可以在不重新启动服务器的情况下调整缓冲池的大小。该 Innodb_buffer_pool_resize_status 状态变量报告在线缓冲池大小调整操作的状态

InnoDB_buffer_pool_size设置不当导致宝塔面板中数据库打不开的案例:

错误显示:如图

简单聊聊innodb_buffer_pool_size

这个时候将数据库的配置文件中innodb_buffer_pool_size 大小设置成 128MB 重启数据库即可。

简单聊聊innodb_buffer_pool_size

技术分享

微信最新隐藏的4大功能,全部知道算我输

2020-8-3 18:25:17

技术分享

自编译环境安装使用Discuz! Q

2020-8-4 1:53:31

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索