MySQL启停要十分钟?

一、问题背景

基础环境:

  • 主机类型:x3850 X6
  • 操作系统:DB:Red Hat Enterprise Linux 9.1 7.8
  • 存储:IBM存储,500GB
  • 内存:64 G
  • CPU型号:E7-4830 v3 @ 2.10GHz
  • CPU核数:32CORE
  • 数据库环境:8.0.27

问题现象:

测试环境数据库启停耗时较长。

说明:

测试环境有一套MySQL数据库给开发同事使用,某天开发小哥让协助启停一下数据库,发现MySQL启停的时候非常慢。

这场面见得还真不多,带着疑问,一探究竟。

二、一探究竟

MySQL启停加载热数据的相关参数:

MySQL启停要十分钟?插图


MySQL关闭时,会把内存中的热数据保存在磁盘里ib_buffer_pool文件中,此文件位于redo日志存放的路径innodb_log_group_home_dir数据目录下。

MySQL启停要十分钟?插图1
MySQL启停要十分钟?插图2

MySQL启动时,会自动加载热数据到Buffer_Pool缓冲池里。

MySQL启停要十分钟?插图3


改成手动加载热数据

修改参数innodb_buffer_pool_load_at_startup(需修改my.cnf文件)

MySQL启停要十分钟?插图4

手动进行加载:

MySQL启停要十分钟?插图5


这样,始终保持热数据在内存中。

MySQL服务正常关闭,热数据会dump到内存。机器宕机或者kill mysql进程,热数据不会dump。

更多精彩内容,关注我们▼▼

MySQL启停要十分钟?插图6

为您推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注