由于在Linux下操作过core文 件的设置,因此想通过ulimit-c unlimited打 开Linux的core文件设置,然后等待core文件的产生。
直到等到实例出现crash,但是core文件并没有如期产生。
查了下MySQL的官方文档,发现还需要通过--corefile启动或者将core_file配置到配置文件,然后重启实例。
这次涉及到实例重启,多少会影响业务,为了谨慎期间,特地找了个测试环境。
按照如下配置进行操作:
1.打开linux的core文件配置:
2.添加mysql的core_file配置(备注 :配置在[mysqld]下面),并重启测试实例。
3.模拟MySQL的crash场景,执行如下命令:
操作完成后并未如期出现core文件,继续测试,这次按照如下步骤进行操作:
1.打开Linux的core文件配置:
2.添加mysql的core_file配置(备注:配置在[mysqld]下面),并重启测试实例。
3.配置 suid_dumpable(mysql 通常会以suid方式启动)。
4.设置core文件存放的目录并且设置完全控制权限。
5.模拟MySQL的crash场景,执行如下命令:
kill操作执行完成后,终于看到了久违的core文件。
总结MySQL的core文件正确打开方式如下:
1.打开linux的core文件配置:
2.添加mysql的core_file配置(备注:配置在[mysqld]下面),并重启测试实例。
3.配置 suid_dumpable(mysql通常会以suid方式启动)。
4.设置core文件存放的目录并且设置完全控制权限。