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关闭时,会把内存中的热数据保存在磁盘里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。

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

上一篇 刨根问底 | MySQL 是如何利用索引的?
下一篇 容灾与备份区别、灾备技术、容灾体系规划

站点性能

运行正常
实时心跳0 ms
页面加载
0
SQL 查询
0
服务端响应
0 ms
峰值内存
0 MB
阿陶学长

阿陶学长管理员

专注于分享最有价值的互联网干货

本月创作热力图

最新评论
暂无评论
AeroCore图片