mysql core_mysql core文件的正确打开姿势
最近两天自己负责的一个实例频繁出现crash的情况,分析了日志,大致明白了crash的原因,但是没有定位到具体的SQL,也没有找到很好的规避的办法,因此想在mysql出现crash的时候自动将内存堆栈相关的信息保存到core文件,然后通过gdb分析再结合源码来确定导致mysql crash的根本原因。
因为之前在linux下操作过core文件的设置,因此想当然地通过ulimit -c unlimited打开linux的core文件设置,然后喝茶,静静等待core文件的产生。终于等到实例出现crash,但是core文件并没有如期产生。查了下mysql的官方文档,发现还需要通过 --core-file启动或者将core_file配置到配置文件,然后重启实例。如下图的官方文档所示:
这次涉及到实例重启,多少会影响业务,为了谨慎期间,特地找了个测试环境,按照如下配置进行操作:
1、打开linux的core文件配置
ulimit -c unlimited
2、添加mysql的core_file配置(备注:配置在[mysqld]下面),并重启测试实例
3、模拟mysql的crash场景,执行如下命令
kill -SEGV `pidof mysqld`
操作完成后并未如期出现core文件,通过google发现有人遇到了和我一样的困惑,发现还有几个地方需要设置了,继续测试,这次按照如下步骤进行操作:
1、打开linux的core文件配置
ulimit -c unlimited
2、添加mysql的core_file配置(备注:配置在[mysqld]下面),并重启测试实例
3、配置 suid_dumpable( mysql 通常会以 suid 方式启动)
echo 2 >/proc/sys/fs/suid_dumpable
4、设置core文件存放的目录并且设置完全控制权限
mkdir /data/core && chmod 777 /data/core && echo "/data/core/core" > /proc/sys/kernel/core_pattern
5、模拟mysql的crash场景,执行如下命令
kill -SEGV `pidof mysqld`
kill操作执行完成后,终于看到了久违的core文件。总结mysql的core文件正确打开方式如下:
1、打开linux的core文件配置
ulimit -c unlimited
2、添加mysql的core_file配置(备注:配置在[mysqld]下面),并重启测试实例
3、配置 suid_dumpable( mysql 通常会以 suid 方式启动)
echo 2 >/proc/sys/fs/suid_dumpable
4、设置core文件存放的目录并且设置完全控制权限
mkdir /data/core && chmod 777 /data/core && echo "/data/core/core" > /proc/sys/kernel/core_pattern
注意:打开core配置后会有如下两个风险
1、磁盘空间可能会满
----因为会将mysql server的所有内存信息导出到core文件中,包括buffer pool中的内容,可能会有几十上百G大小
2、mysql出现crash后启动速度会慢
----因为要导出大量的数据到core文件中,因此启动速度会慢很多。
参考资料:
https://dev.mysql.com/doc/refman/5.5/en/server-options.html#option_mysqld_core-file
https://www.percona.com/blog/2011/08/26/getting-mysql-core-file-on-linux/
mysql core_mysql core文件的正确打开姿势相关推荐
- java mail 附件 dat,邮件附件winmail.dat文件的正确打开姿势
Outlook是一款办公场景中常被使用的邮箱工具.许多用户在用Outlook管理邮箱收发邮件的过程中,会遇到邮件中的附件被打包成winmail.dat格式文件无法打开的情况. 今天将分享邮件附件win ...
- 邮件附件winmail.dat文件的正确打开姿势【企业邮箱如何申请】
Outlook是一款办公场景中常被使用的邮箱工具.许多用户在用Outlook管理邮箱收发邮件的过程中,会遇到邮件中的附件被打包成winmail.dat格式文件无法打开的情况.今天邮箱课堂将分享邮件附件 ...
- 索引的正确“打开姿势”
本文分享自华为云社区<DWS 索引的正确"打开姿势">,原文作者:hoholy . 索引能干什么呢,一言以蔽之:查询加速.常见的索引有下面几种: 1. 常用索引介绍 1 ...
- android markdown 框架,Android Studio MarkDown风格README的正确打开姿势
万事开头难,这是我的第一篇简书,讲一讲我是怎么在AS上安装MarkDown编辑器插件的. 前言 其实吧刚开始我并没有觉得AS自带的文本编辑器有什么不好,README文件也就是记录一些相关信息,也没想着 ...
- md文件的正确打开方式
常常会遇到md格式的文件,默认打开方式是记事本,但是打开后不利于阅读,体验很差. 直到今天才明白,正确打开md文件是一件多么美妙的事情!!! 可以使用**Notepad++**来打开,该软件在编程方面 ...
- python word2vec怎么用_小白看Word2Vec的正确打开姿势|全部理解和应用
有个用心的读者最近做了一篇论文,想知道Word2Vec的相关理论和应用方法,作为一个有强迫症的我,去翻查了大量的文献资料,决定从Word2Vec的上下文来温习一下这个NLP的基础以及做相关的知识体系的 ...
- class ts 扩展方法_ts类型声明文件的正确使用姿势
ts类型声明文件的正确使用姿势 ts声明文件类型 npm install @types/jquery --save-dev 与npm一同发布 解释: package.json 中有 types 字段, ...
- win10系统rar文件的正确打开方式
rar文件怎么打开?基本上所有的windows电脑用户都会有接触到rar文件,特别是我们在传输大文件夹的时候rar文件可以说是必备的.但是最近很多升级到win10系统的用户发现自己的rar文件夹打不开 ...
- swf文件的正确打开方式
软件下载链接在此,可不必看下面的解释 最近在看新东方的英语口语视频教程(<新东方4+1英语口语教程>,也在此向大家推荐一下),可是在播放过程中,老是出现自己跳转到视频的起始位置并暂停的状况 ...
最新文章
- STM32-RCC内部总线时钟设置程序详讲
- 提升权限_Azure权限提升漏洞
- Samsung Pay体验札记:或推支付新浪潮
- [SHELL]备份系统文件并邮件发送
- java set去重复元素_java List去掉重复元素的几种方式
- android放微信@功能,Android仿微信语音消息的录制和播放功能
- python 二叉树
- Java JDBC中的Statement和PreparedStatement
- 上海房屋租赁合同登记备案证明办理流程
- vivado安装步骤
- 关闭小米系统自动更新通知
- 中国工业钩环市场深度研究分析报告
- TL431和PC817在开关电源中的工作详解
- 虚拟化arm服务器,arm服务器虚拟化(armvm虚拟化搭建手机)
- 安卓四大组件之广播组件(Broadcast)
- Linux 之log 日志记录
- 作为IT行业过来人,我有一些话不得不说
- c语言找出一个数组中出现次数最多的那个元素,c语言找出数组中出现次数最多地那个元素...
- 牛客网《剑指offer》专栏刷题练习之双指针算法的使用
- IT高管和易筋经的故事
热门文章
- 黎明觉醒服务器维护怎么办,黎明觉醒无法更新怎么办 黎明觉醒无法更新解决办法...
- 2019届华为笔试题(软件卷)
- 结对项目-最长单词链
- 超级巡警(Anti-Spyware Toolkit)3.0.0
- FLIR相机项目属性配置lib文件备份
- MATLAB如何对文字进行搜索,基于matlab的文字识别算法
- macOS系统添加网络打印机
- MyCnCart 专业版 - 【新闻订阅弹出框】及【新闻订阅横幅】
- 魂斗罗java设计,你所不知道的《魂斗罗》 设计企划书告诉你神作如何炼成
- 最新重庆某公司面试题