【原创】获取MySQL crash 时的core file

最近有台服务器的MySQL经常crash,为了进一步定位问题,开启了mysql core file功能,开启步骤如下,供参考

【开启步骤】

1、 my.cnf文件中增加2个配置选项

[mysqld]

core_file

[mysqld_safe]

core-file-size=unlimited

2、修改系统参数,配置suid_dumpable

echo 1 >/proc/sys/fs/suid_dumpable

3、重启mysql服务,配置生效

service mysql restart

【生成core file】

1、模拟mysql crash的场景,kill –SEGV

2、mysql crash后,生成core file的时间取决于mysql占用的内存大小

测试环境生成21G的core file,花费约3分钟左右,期间mysql进程存在,但 mysql服务无法响应。这种情况下会发生MHA切换。

3、生成core file期间,不能手工kill mysql进程,否则会导致产生的core file被截断,无法正常分析,core dump结束后,mysql会自动重启

 

4、core file生成后,可以用gdb来分析

 

【需注意的问题】

1、 需要为生成core file的目录预留足够大的磁盘空间,默认路径会生成在数据目录下,文件大小参考mysql占用的内存大小

2、 生成core file会延长mysql crash自动恢复的时间

 
 

原文地址:https://www.cnblogs.com/wangdong/p/9228630.html