首页 > 问答 > 关键词  > mysql最新资讯  > 正文

MySQL一直自动重启解决办法

2020-07-14 15:00 · 稿源:数据库干货铺

近期,测试环境出现了一次MySQL数据库不断自动重启的问题,导致的原因是强行kill -9 杀掉数据库进程导致,报错信息如下:

2019-07-24T01:14:53.769512Z0[Note]Executing'SELECT*FROMINFORMATION_SCHEMA.TABLES;'togetalistoftablesusingthedeprecatedpartitionengine.Youmayusethestartupoption'--disable-partition-engine-check'toskipthischeck.2019-07-24T01:14:53.769516Z0[Note]Beginningoflistofnon-nativelypartitionedtables01:14:53UTC-mysqldgotsignal11;
Thiscouldbebecauseyouhitabug.Itisalsopossiblethatthisbinary
oroneofthelibrariesitwaslinkedagainstiscorrupt,improperlybuilt,
ormisconfigured.Thiserrorcanalsobecausedbymalfunctioninghardware.
Attemptingtocollectsomeinformationthatcouldhelpdiagnosetheproblem.
Asthisisacrashandsomethingisdefinitelywrong,theinformation
collectionprocessmightfail.
PleasehelpusmakePerconaServerbetterbyreportingany
bugsathttp://bugs.percona.com/key_buffer_size=33554432read_buffer_size=8388608max_used_connections=0max_threads=501thread_count=4connection_count=0Itispossiblethatmysqldcoulduseupto
key_buffer_size+(read_buffer_size+sort_buffer_size)*max_threads=4478400Kbytesofmemory
Hopethat'sok;ifnot,decreasesomevariablesintheequation.Threadpointer:0x7f486900e000Attemptingbacktrace.Youcanusethefollowinginformationtofindout
wheremysqlddied.Ifyouseenomessagesafterthis,somethingwent
terriblywrong...
stack_bottom=7f4846172820thread_stack0x80000/usr/local/mysql5.7/bin/mysqld(my_print_stacktrace+0x2c)[0xed481c]/usr/local/mysql5.7/bin/mysqld(handle_fatal_signal+0x461)[0x7a15a1]/lib64/libpthread.so.0(+0xf7e0)[0x7f498697c7e0]/usr/local/mysql5.7/bin/mysqld(_ZN12ha_federated7rnd_posEPhS0_+0x2f)[0x12bcc3f]/usr/local/mysql5.7/bin/mysqld(_ZN7handler10ha_rnd_posEPhS0_+0x172)[0x804a12]/usr/local/mysql5.7/bin/mysqld(_ZN14Rows_log_event24do_index_scan_and_updateEPK14Relay_log_info+0x1e3)[0xe50e23]/usr/local/mysql5.7/bin/mysqld(_ZN14Rows_log_event14do_apply_eventEPK14Relay_log_info+0x716)[0xe50196]/usr/local/mysql5.7/bin/mysqld(_ZN9Log_event11apply_eventEP14Relay_log_info+0x6e)[0xe48fde]/usr/local/mysql5.7/bin/mysqld(_Z26apply_event_and_update_posPP9Log_eventP3THDP14Relay_log_info+0x1f0)[0xe8d6f0]/usr/local/mysql5.7/bin/mysqld(handle_slave_sql+0x163d)[0xe9a0fd]/usr/local/mysql5.7/bin/mysqld(pfs_spawn_thread+0x1b4)[0x1209414]/lib64/libpthread.so.0(+0x7aa1)[0x7f4986974aa1]/lib64/libc.so.6(clone+0x6d)[0x7f4984c6bc4d]
Tryingtogetsomevariables.
Somepointersmaybeinvalidandcausethedumptoabort.
Query(0):isaninvalidpointer
ConnectionID(threadID):2Status:NOT_KILLED
YoumaydownloadthePerconaServeroperationsmanualbyvisiting
http://www.percona.com/software/percona-server/.Youmayfindinformationinthemanualwhichwillhelpyouidentifythecauseofthecrash.

1. 初探过程

之前出现过类似的情况时,是因为内存不足,因日志中也有对应的提示:

key_buffer_size=33554432read_buffer_size=8388608max_used_connections=0max_threads=501thread_count=4connection_count=0Itispossiblethatmysqldcoulduseupto
key_buffer_size+(read_buffer_size+sort_buffer_size)*max_threads=4478400Kbytesofmemory
Hopethat'sok;ifnot,decreasesomevariablesintheequation.

此测试环境物理内存确实不大,且剩余内存也不足,而且是作为另一个测试环境的从库,内存分配的也少。

之前一些环境也出现过类似的情况,通过调整参数及释放内存的等处理后可以正常启动,于是尝试着关闭一些临时程序并调整MySQL上述几个参数的值,如:

[mysqld]
max_connections=50

然后重新启动MySQL,结果依旧不断重启。

初步处理未果。

2. 添加innodb_force_recovery 解决不断重启

在配置文件my.cnf添加innodb_force_recovery 先处理不断重启的问题

[mysqld]
innodb_force_recovery=4

添加后,再次启动MySQL,此时不再出现反复重启。

查看数据库日志,有提示[Note] InnoDB: !!! innodb_force_recovery is set to 4 !!!如下:

因为此时可以打开数据库,于是尝试启动从库,但是此时报错,提示Table 'mysql.slave_relay_log_info' is read only.

此时再看错误日志,如下

因此,本次启动时,innodb_force_recovery 设置为 4,在MySQL 5.6.15 以后,当 innodb_force_recovery 的值大于等于 4 的时候,InnoDB 表处于只读模式,因启动复制时需要将信息写入表中,所以此时报错。

注: 因设置为1-3 时,依旧未生效,因此我在处理时设置的为4(4 以上的值可能永久导致数据文件损坏。如果生产环境出现类似问题务必先拷贝一份测试,在测试通过后再在生产环境处理)。此时可以将所有数据dump出,之后再恢复即可。

3.innodb_force_recovery 参数

innodb_force_recovery 可以设置为 1-6,大的值包含前面所有小于它的值的影响。

1(SRV_FORCE_IGNORE_CORRUPT):忽略检查到的corrupt页。尽管检测到了损坏的page仍强制服务运行。一般设置为该值即可,然后dump出库表进行重建。2(SRV_FORCE_NO_BACKGROUND):阻止主线程的运行,如主线程需要执行fullpurge操作,会导致crash。阻止masterthread和任何purgethread运行。若crash发生在purge环节则使用该值。3(SRV_FORCE_NO_TRX_UNDO):不执行事务回滚操作。4(SRV_FORCE_NO_IBUF_MERGE):不执行插入缓冲的合并操作。如果可能导致崩溃则不要做这些操作。不要进行统计操作。该值可能永久损坏数据文件。若使用了该值,则将来要删除和重建辅助索引。5(SRV_FORCE_NO_UNDO_LOG_SCAN):不查看重做日志,InnoDB存储引擎会将未提交的事务视为已提交。此时InnoDB甚至把未完成的事务按照提交处理。该值可能永久性的损坏数据文件。6(SRV_FORCE_NO_LOG_REDO):不执行前滚的操作。恢复时不做redologroll-forward。使数据库页处于废止状态,继而可能引起B树或者其他数据库结构更多的损坏。

注意:

  • 为了安全,当设置参数值大于 0 后,可以对表进行 select, create, drop 操作,但 insert, update 或者 delete 这类操作是不允许的。
  • MySQL 5.6.15 以后,当 innodb_force_recovery 的值大于等于 4 的时候,InnoDB 表处于只读模式。
  • 在值小于等于 3 时可以通过 select 来 dump 表,可以 drop 或者 create 表。
  • MySQL 5.6.27 后大于 3 的值也支持 DROP TABLE; 如果事先知道哪个表导致了崩溃则可 drop 掉这个表。
  • 如果碰到了由失败的大规模导入或大量 ALTER TABLE 操作引起的 runaway rollback,则可 kill 掉 mysqld 线程然后设置 innodb_force_recovery = 3 使数据库重启后不进行 rollback。然后删除导致 runaway rollback 的表; 如果表内的数据损坏导致不能 dump 整个表内容。那么附带 order by primary_key desc 从句的查询或许能够 dump 出损坏部分之后的部分数据;

本文转载自微信公众号【数据库干货铺】。

举报

  • 相关推荐
  • 大家在看
  • Waveform.ai:使用AI语音表单收集数据

    Waveform.ai 是一个利用人工智能技术通过语音表单收集数据的平台。它通过自然语言交互的方式,帮助用户在客户访谈、员工调查、市场研究和潜在客户生成等方面进行数据收集。该平台的主要优点包括:1. 更全面和深入的信息收集:通过AI驱动的调查,能够收集到更全面和有洞察力的数据,从而进行更深入的分析和做出更明智的决策。2. 更高的响应率:通过AI驱动的语音表单与用户进行自然互动,提高调查的响应率和用户满意度。3. 反映品牌身份:可以个性化语音和个性,以反映品牌身份,创造一致且难忘的用户体验。4. 时间和成本效益:与传统的人工数据收集方法相比,节省时间和降低成本,同时保持准确性和可靠性。

  • AI Magicx Coder:智能代码分析与实时预览

    AI Magicx Coder 是一款旨在革新编程体验的在线工具。它通过智能代码分析、实时预览和多模型支持等功能,帮助开发者提高代码质量和效率。产品背景信息显示,AI Magicx Coder 已经吸引了超过35,000名用户,并且获得了用户的高度评价。其主要优点包括代码问题的自动扫描和高亮显示、实时代码预览、与多种大型语言模型的无缝集成以及生成详细的代码文档。

  • Mistral-Nemo-Instruct-2407:大型语言模型,支持多语言和代码数据

    Mistral-Nemo-Instruct-2407是由Mistral AI和NVIDIA联合训练的大型语言模型(LLM),是Mistral-Nemo-Base-2407的指导微调版本。该模型在多语言和代码数据上进行了训练,显著优于大小相似或更小的现有模型。其主要特点包括:支持多语言和代码数据训练、128k上下文窗口、可替代Mistral 7B。模型架构包括40层、5120维、128头维、1436隐藏维、32个头、8个kv头(GQA)、2^17词汇量(约128k)、旋转嵌入(theta=1M)。该模型在多种基准测试中表现出色,如HellaSwag(0-shot)、Winogrande(0-shot)、OpenBookQA(0-shot)等。

  • Mistral-Nemo-Base-2407:12B参数的大型语言模型

    Mistral-Nemo-Base-2407是由Mistral AI和NVIDIA联合训练的12B参数大型预训练生成文本模型。该模型在多语言和代码数据上进行了训练,显著优于相同或更小规模的现有模型。其主要特点包括:Apache 2.0许可证发布,支持预训练和指令版本,128k上下文窗口训练,支持多种语言和代码数据,是Mistral 7B的替代品。模型架构包括40层、5120维、128头维、14364隐藏维、32头数、8个kv头(GQA)、词汇量约128k、旋转嵌入(theta=1M)。该模型在多个基准测试中表现出色,如HellaSwag、Winogrande、OpenBookQA等。

  • Zavata:AI面试官,智能招聘助手

    Zavata 是一款利用先进人工智能技术进行招聘面试的在线平台。它通过自动化安排面试、AI驱动的面试、实时反馈等功能,帮助雇主和候选人享受无缝且个性化的招聘体验。主要优点包括:1. 24/7 AI面试官:SIA(智能面试助手)全天候提供服务,不受时区限制。2. 数据驱动决策:平台提供详细报告和性能指标,帮助雇主做出更明智的招聘决策。3. 工作流程集成:与现有ATS和其他HR工具无缝集成,确保数据流畅。4. 个性化面试:提供个性化和对话式的面试体验,让候选人感到被重视和尊重。5. 可操作的洞察:每次面试后提供即时、数据驱动的反馈和综合报告。6. 公平评估:系统通过多模态数据检测潜在作弊行为,提供可靠和无偏见的评估。

  • CommandAI:命令行工具与AI的结合

    CommandAI 是一款结合了命令行工具和人工智能的桌面客户端软件。它通过提供强大的命令行接口,使得用户能够更高效地执行各种任务。该产品的主要优点包括:1. 高效性:通过命令行快速执行任务,提升工作效率。2. 智能化:集成AI技术,能够智能识别用户需求并提供相应解决方案。3. 灵活性:支持多种编程语言和脚本,满足不同用户的需求。4. 易用性:安装简单,用户界面友好,易于上手。5. 扩展性: 支持插件扩展,用户可以根据需要添加更多功能。

  • Depth.io:深度分析用户行为,优化产品体验

    Depth是一款AI产品管理工具,通过分析用户在产品中的行为,提供全面的反馈,帮助团队更好地迭代产品。它不仅能够观察产品的每一方面,从用户体验建议到新功能的开发,还能优化会员计划和特权展示,提升用户参与度和理解。此外,Depth还关注视频播放的可用性问题,如视频链接失效、加载延迟等,确保用户能够流畅地消费视频内容。

  • Mistral NeMo:最先进的12B模型,支持多语言应用

    Mistral NeMo 是由 Mistral AI 与 NVIDIA 合作构建的 12B 模型,具有 128k 个令牌的大型上下文窗口。它在推理、世界知识和编码准确性方面处于领先地位。该模型专为全球多语言应用程序设计,支持英语、法语、德语、西班牙语、意大利语、葡萄牙语、中文、日语、韩语、阿拉伯语和印地语等多种语言。Mistral NeMo 还使用了新的分词器 Tekken,提高了文本和源代码的压缩效率。此外,该模型经过指令微调,提升了遵循精确指令、推理、处理多轮对话和生成代码的能力。

  • DreamPal.art:AI生成的聊天助手

    DreamPal 是一个基于人工智能技术的聊天助手,旨在通过生成自然语言对话来模拟真实人类的交流体验。其主要优点包括:1. 自然语言理解:能够理解用户的输入并生成相应的回复。2. 多语言支持:支持多种语言,方便不同地区的用户使用。3. 隐私保护:强调用户隐私,新号码需要验证以保护隐私。4. 反馈机制:提供反馈功能,帮助改进用户体验。5. AI生成对话:所有对话均由AI生成,不涉及真实人类。

  • ToyPal:一款通过个性化AI故事让玩具栩栩如生的心形音箱

    ToyPal是一款独特的心形音箱,通过个性化的AI故事让玩具变得生动有趣。它不仅能够提供丰富的睡前故事,还能帮助家长更轻松地教育孩子,使学习变得更加有趣。这款产品的主要优点包括其创新的互动方式、个性化的故事内容以及对儿童教育的积极影响。

  • GPT-4o mini:成本效益高的智能模型

    GPT-4o mini 是 OpenAI 推出的一款成本效益极高的小型智能模型。它在多模态推理和文本智能方面超越了其他小型模型,并支持与 GPT-4o 相同的语言范围。该模型在数学推理和编码任务上表现出色,能够处理大量上下文信息,并支持快速、实时的文本响应。GPT-4o mini 的推出旨在使智能技术更广泛地应用于各种应用场景,降低成本,提高可访问性。

  • Archie:AI驱动的产品架构师

    Archie是一个AI驱动的产品架构师,旨在帮助用户设计和规划软件应用程序。它通过利用多个大型语言模型(LLMs)的力量,专注于不同的产品生命周期部分,从而压缩工作量并降低成本。Archie的主要优点包括: 1. **提高准确性**:确保需求完整且准确,减少软件缺陷。 2. **增强创造力**:通过AI的智能调用,用户可以更专注于创意而非提示工程。 3. **全面性**:Archie会检测并建议增强项目价值和健全性的内容,包括合规性、安全性等。 4. **效率**:将传统需要数月的工作压缩到几分钟内完成。 5. **用户友好**:提供与项目的聊天功能,允许用户提问、提出请求。

  • Loops:深度因果洞察,助力产品增长

    Loops 是一款专注于数据驱动的产品增长工具,通过因果推断模型帮助企业识别关键机会,优化关键绩效指标(KPIs)。它能够实时追踪和识别KPIs的变化,提供根本原因分析,并通过模拟A/B测试来衡量变化的影响。Loops 的技术优势在于能够快速识别和分析数据中的潜在机会,从而帮助企业做出更有针对性的决策,提升产品性能和用户体验。

  • Swapper:AI时尚模特和电商助手

    Swapper是一款AI驱动的时尚模特和电商助手,旨在通过高质量的AI视频生成技术帮助企业节约成本。它提供专业的AI时尚模特,满足各种模特需求,显著降低模特费用,促进利润增长。此外,Swapper还能在不同场景中自由切换拍摄场景,减少拍摄周期,节省预算。Swapper的主要功能包括产品商业拍卖、服装颜色变换等,能够高效准确地满足设计需求,减少重复拍摄的成本。

  • UXWizz:自托管网站分析平台

    UXWizz是一个自托管的网站分析平台,旨在帮助用户在不分享数据给大公司的情况下,通过强大的分析工具理解访问者行为并改进网站。它提供深入的智能分析功能,支持热图、会话回放等功能,帮助用户发现并解决用户体验问题。UXWizz自2012年开发以来,一直根据用户反馈不断改进,提供高质量的支持和易于维护的系统。

  • Flow Studio:AI视频生成器

    Flow Studio 是一个基于人工智能技术的视频生成平台,专注于为用户提供高质量、个性化的视频内容。该平台利用先进的AI算法,能够在短时间内生成3分钟的视频,效果优于Luma、Pika和Sora等同类产品。用户可以通过选择不同的模板、角色和场景,快速创建出具有吸引力的视频内容。Flow Studio 的主要优点包括生成速度快、效果逼真、操作简便等。

  • Intelligent Canvas:AI驱动的团队协作平台

    Intelligent Canvas 是 Miro 推出的一款 AI 驱动的团队协作平台。它通过集成智能小部件、模板和集成功能,帮助团队更高效地进行创意、迭代和交付。主要优势包括:1. AI辅助内容生成:利用 AI 将想法转化为产品简报和摘要,无需复杂提示。2. 快速构建结构和清晰度:AI 可以在几分钟内生成图表、简报和摘要。3. 智能小助手:提供即时的 AI 辅助帮助,如敏捷教练、产品领导者等。4. 智能小部件:用于团队互动,如点投票、投票和估算。5. 智能模板:自动化工作流程,如路线图、冲刺计划和回顾会议。6. 单一视图决策:提供单一视图,整合所有工具、内容、文档和数据,加快决策速度。

  • RAGNA Desktop:本地AI多工具箱,提升效率,保护数据安全

    RAGNA Desktop 是一款运行在本地桌面 PC 或笔记本电脑上的私人 AI 多工具箱,无需互联网连接。该应用旨在帮助用户自动化重复性任务,提高效率,并为真正重要的事情腾出空间。其主要优点包括本地数据处理、无需依赖云服务、符合数据保护法规、提升团队效率、成本优化、灵活的工作方式等。

  • Llama-3-70B-Tool-Use:70B参数量的大型语言模型,专为工具使用优化

    Llama-3-70B-Tool-Use是一种70B参数量的大型语言模型,专为高级工具使用和功能调用任务设计。该模型在Berkeley功能调用排行榜(BFCL)上的总体准确率达到90.76%,表现优于所有开源的70B语言模型。该模型优化了变换器架构,并通过完整的微调和直接偏好优化(DPO)在Llama 3 70B基础模型上进行了训练。输入为文本,输出为文本,增强了工具使用和功能调用的能力。尽管其主要用途是工具使用和功能调用,但在一般知识或开放式任务中,可能更适用通用语言模型。该模型可能在某些情况下产生不准确或有偏见的内容,用户应注意实现适合其特定用例的适当安全措施。该模型对温度和top_p采样配置非常敏感。

  • FidForward:重新定义绩效管理

    FidForward是一款旨在重新定义组织绩效管理的在线工具。它通过增加开放反馈和沟通,帮助企业在短短30天内提升员工满意度,降低员工流失率。该产品的核心优势在于其快速实施和显著效果,能够显著提升员工幸福感和组织绩效。

今日大家都在搜的词:

热文

  • 3 天
  • 7天