由于在Linux下操作過core文 件的設(shè)置,因此想通過ulimit-c unlimited打 開Linux的core文件設(shè)置,然后等待core文件的產(chǎn)生。
直到等到實例出現(xiàn)crash,但是core文件并沒有如期產(chǎn)生。
查了下MySQL的官方文檔,發(fā)現(xiàn)還需要通過--corefile啟動或者將core_file配置到配置文件,然后重啟實例。
這次涉及到實例重啟,多少會影響業(yè)務(wù),為了謹慎期間,特地找了個測試環(huán)境。
按照如下配置進行操作:
1.打開linux的core文件配置:
2.添加mysql的core_file配置(備注 :配置在[mysqld]下面),并重啟測試實例。
3.模擬MySQL的crash場景,執(zhí)行如下命令:
操作完成后并未如期出現(xiàn)core文件,繼續(xù)測試,這次按照如下步驟進行操作:
1.打開Linux的core文件配置:
2.添加mysql的core_file配置(備注:配置在[mysqld]下面),并重啟測試實例。
3.配置 suid_dumpable(mysql 通常會以suid方式啟動)。
4.設(shè)置core文件存放的目錄并且設(shè)置完全控制權(quán)限。
5.模擬MySQL的crash場景,執(zhí)行如下命令:
kill操作執(zhí)行完成后,終于看到了久違的core文件。
總結(jié)MySQL的core文件正確打開方式如下:
1.打開linux的core文件配置:
2.添加mysql的core_file配置(備注:配置在[mysqld]下面),并重啟測試實例。
3.配置 suid_dumpable(mysql通常會以suid方式啟動)。
4.設(shè)置core文件存放的目錄并且設(shè)置完全控制權(quán)限。