mysql 服务异常crash 原因收集
1. 打开文件描述符数超出限制,造成crash 重启,ERROR信息,提示too many open files0
2022-06-27T08:03:56.201006+08:00 0 [Warning] [MY-012152] [InnoDB] Open files 407 exceeds the limit 400 2022-06-27T08:03:56.201011+08:00 0 [Warning] [MY-012152] [InnoDB] Open files 407 exceeds the limit 400 2022-06-27T08:13:20.471561+08:00 0 [ERROR] [MY-012592] [InnoDB] Operating system error number 24 in a file operation. 2022-06-27T08:13:20.471608+08:00 0 [ERROR] [MY-012596] [InnoDB] Error number 24 means 'Too many open files' 2022-06-27T08:13:20.471631+08:00 0 [ERROR] [MY-012646] [InnoDB] File ./bznaqgk/drp_synlog_detail.ibd: 'open' returned OS error 124. Cannot continue operation 2022-06-27T08:13:20.471644+08:00 0 [ERROR] [MY-012981] [InnoDB] Cannot continue operation. 2022-06-27T00:13:21.227135Z mysqld_safe Number of processes running now: 0 2022-06-27T00:13:21.233845Z mysqld_safe mysqld restarted
验证一下: open_files_limit 与 innodb_open_files 这两个参数的作用
怀疑 open_files_limit超限会造成error 造成重启
innodb_open_files超限会产生warning。
2.后台线程 semaphore wait超过600会造成crash。
通常这种情况都是因为后台线程被阻塞,导致后台线程semaphore wait超过600秒,比如主线程要清理table open cache,需要数据字典上RW_latch的锁,但如果此锁会被执行create drop table的线程所持有,如果这个执行create drop table 的线程被阻塞时间很久,就有可能造成主线程同时被阻塞,从而造成数据库crash而被重启。
分类:
mysql
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?