一、问题背景
基础环境:
- 主机类型: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关闭时,会把内存中的热数据保存在磁盘里ib_buffer_pool文件中,此文件位于redo日志存放的路径innodb_log_group_home_dir数据目录下。
MySQL启动时,会自动加载热数据到Buffer_Pool缓冲池里。
改成手动加载热数据
修改参数innodb_buffer_pool_load_at_startup(需修改my.cnf文件)
手动进行加载:
这样,始终保持热数据在内存中。
MySQL服务正常关闭,热数据会dump到内存。机器宕机或者kill mysql进程,热数据不会dump。
更多精彩内容,关注我们▼▼