打开mysql core dump的方法

为了诊断mysql段错误(segment fault),也被称为崩溃(crash),需要在段错误发生时生成core文件(core dump)。

默认情况下,mysql core文件是不会生成的,需要提前做好一些配置工作。

 

mysql的core dump正确打开方式如下:

1、打开linux的core文件大小限制,即ulimit -c。

ulimit -c unlimited

如果希望core limit永久生效,需要修改 /etc/security/limits.conf 文件,并且重新登录系统:

echo "mysqluser  -  core   unlimited" >> /etc/security/limits.conf

 

2、添加mysql的core_file参数(备注:配置在[mysqld]下面),并重启测试mysql实例。

[mysqld]

core_file

这个mysql参数比较特殊,只能写core_file,不能写core_file=ON。

 

3、配置 suid_dumpable( mysql 通常会以 suid 方式启动)。

echo 2 >/proc/sys/fs/suid_dumpable

如果希望永久修改suid_dumpable,需要修改/etc/sysctl.conf文件,然后运行 sysctl -p 使之生效:

echo "fs.suid_dumpable=2" >> /etc/sysctl.conf

sysctl -p

 

4、设置core文件存放的目录并且设置完全控制权限

 mkdir /data/core && chmod 777 /data/core && echo "/data/core/core.%e.%p.%t" > /proc/sys/kernel/core_pattern

其中,%e代表程序名,%p代表pid,%t代表时间(Epoch秒)。

如果希望永久修改core_pattern,需要修改/etc/sysctl.conf文件,然后运行 sysctl -p 使之生效:

echo "kernel.core_pattern=/data/core/core.%e.%p.%t" >> /etc/sysctl.conf

sysctl -p

 

5、如果想模拟mysql的crash,可以执行如下命令:

kill -SEGV  `pidof mysqld`

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值