MySQL Linux服务器快照克隆引起的binlog日志无法正常删除导致文件系统满

news2024/11/15 15:28:11

      最近,一个mysql数据库Linux服务器文件系统空间满,查看是binlog消耗绝大部分空间;经了解mysql数据库每天进行全备并删除1天前binlog日志;然而,2022.11.15日开始的binlog均没删除,后续了解到linux服务器被快照克隆,查看mysql错误日志发现2022.11.15日志提示shutdown normal,负责人反馈直接重启操作系统未关闭mysql。由此,猜测克隆时的binlog日志被损坏,mysql识别不到binlog日志,后续的binlog日志无法删除积累直到文件系统空间满。后续处理,2022.12.2当天将2022.11.28之前的binlog移动到其他文件系统,重启mysql时日志提示找不到被移走的binlog日志,使用purge命令指定删除7天前和2022.11.28 00:00:00的日志清理失败,最后purge特定binlog前的日志成功。

      一、问题现象

     文件系统满,mysql无法启动,system-lv_*对应的文件系统为故障文件系统,这里看到的是已经紧急扩了300G,处理故障时可用空间只有48MB。

 

     二、问题分析

    根据经验可能是Mysql binlog日志占用过多空间,查看binlog保留时间为0,此是可疑点。

询问运维人员反馈该mysql备份策略为每天全备并删除一天的binlog日志

 

 

备份软件备份任务提示均是成功的

 

然而,2022-12-02之前的binlog直到2022-11-15的都存在,这里只显示部分,根据统计一天的binlog有近60G,积累了18天的binlog有一个TB。到这里,备份软件是有问题的,binlog实际没有删除仍然提示成功并且没有预警。

     后续问题分析,经沟通,该mysql服务器在2022-11-15做过快照克隆,操作直接shutdow -h now关闭主机,mysql 错误日志提示shutdown normal并提示mysqld被force关闭。

     到此,猜测数据库被异常关闭binlog损坏导致binlog无法正常删除。

     三、问题处理

 将部分日志移动到/home/mysqlbinlog文件夹下,重启mysql提示被移走的binlog找不到

只能将日志移动回来,指定日期purge清理binlog日志,命令提示成功,好奇清理消耗没有时间消耗,binlog并没有从文件系统删除。

 

指定删除7天前的binlog进行purge清理,命令提示成功,好奇清理消耗没有时间消耗,binlog并没有从文件系统删除。

 

指定特定的binlog方式purge之前的所有binlog日志,命令提示成功,清理操作有时间消耗,文件系统释放成功


再次执行清理2022-11-30之前的binlog日志,能够成功清理,好奇清理消耗有了时间消耗

清理完binlog日志后,重启mysql正常

​   四、总结

    mysql及其附属主机维护,主机关闭前一定要正常将mysql关闭掉;

    mysql开启binlog时一定要设置expire_logs_days参数;

    备份软件需要改进,不能只凭purge命令返回结果就任务操作执行完成成功,还需要实际判断文件系统空间用量释放情况。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/57315.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

全都会!预测蛋白质标注!创建讲义!解释数学公式!最懂科学的智能NLP模型Galactica尝鲜 ⛵

💡 作者:韩信子ShowMeAI 📘 机器学习实战系列:https://www.showmeai.tech/tutorials/41 📘 深度学习实战系列:https://www.showmeai.tech/tutorials/42 📘 自然语言处理实战系列:htt…

图片里的文字如何提取?试试这几种提取方法

最近收到了一些小伙伴的私信,他们收到了对方发送过来的图片,觉得图片上的文字信息比较重要,但是又不知道有什么快速的方法能提取到图片中的文字。平时你们遇到这种情况会怎么做呢?今天我给大家分享几个可以将图片转为文字的方法&a…

JVM调优之StringTable调优

jdk1.8之后,JVM内存结构如下 所谓的StringTable,即字符串常量池(以下简称串池),存放在堆内存中。 我们先介绍一下intern方法 String s "ab"; //将这个字符串对象尝试放入串池,如果有则并不会放…

VMware下载与安装教程(详细)

虚拟机VMware下载与安装教程1. VMware下载2. VMware的安装1. VMware下载 Vmware官网 官网节目如下 直接点击 DOWNLOAD FOR FREE 之后会跳转到如下界面,可以选择版本(目前最新版是17.x),然后点击转至下载就会转到详细下载界面 根据自己的…

TortoiseGit安装和配置详细说明

一、TortoiseGit 简介 TortoiseGit 是免费开源的。 TortoiseGit 支持你执行常规任务,例如 commit、显示日志、区分两个版本、创建分支和标签、创建补丁等。 网站:tortoisegit.org下载:tortoisegit.org/Download文件:tortoisegi…

vue3移动端适配的解决方案

文章目录前言一、使用插件① 纯wap项目效果:Demo:② pc&wap混合项目(我放弃了)二、老方案效果:Demo:前言 最近在给公司内部做一个BBS论坛,需要在电脑和手机上都可以操作,所以需…

Kotlin高仿微信-第57篇-VIP管理列表

Kotlin高仿微信-项目实践58篇详细讲解了各个功能点,包括:注册、登录、主页、单聊(文本、表情、语音、图片、小视频、视频通话、语音通话、红包、转账)、群聊、个人信息、朋友圈、支付服务、扫一扫、搜索好友、添加好友、开通VIP等众多功能。 Kotlin高仿…

[附源码]Python计算机毕业设计Django家庭整理服务管理系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

微服务绕不过的坎-服务雪崩

引言 书接上篇 微服务外交官-Feign ,讲完了SpringCloud Alibaba 远程调用组件Feign之后,接下来讲微服务项目绕不开的问题:服务雪崩。 概念 微服务架构应用设计其目的之一是为了应对高并发环境,那问题来,高并发环境会…

[附源码]计算机毕业设计医院挂号住院管理系统Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

BBR 数学模型直观展示

看 BBR 的理想图示: 但现实中数据包到达并非绝对均匀,考虑统计突发,实际情况如下: ​后文将 Delivery Rate 设为 B(Bandwidth),将 RTT 设为 D(Delay)。 B/inflt 曲线一定上凸,可想象 1 个 inflt 只有一种…

HTML+CSS+JS网页设计期末课程大作业 DW个人博客网站制作 web前端开发技术 web课程设计 网页规划与设计

🎉精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

并发编程知识总结

并发编程知识总结 最近学习了:冰河《深入理解高并发编程》;《并发编程的艺术》; 特此简要对学习做了部分总结,方便后续对并发编程知识的完善和巩固; 若想深入了解学习,可阅读上述参考原著; 线…

基于蝙蝠优化算法的电力系统经济调度研究(Matlab代码实现)

🍒🍒🍒欢迎关注🌈🌈🌈 📝个人主页:我爱Matlab 👍点赞➕评论➕收藏 养成习惯(一键三连)🌻🌻🌻 🍌希…

刷题5-合并两个有序数组

刷题5-合并两个有序数组 解题思路: 把数组nums2的元素复制到数组nums1中,然后利用Java的Arrays.sort()数组排序,默认从小到大 核心代码: class Solution {public void merge(int[] nums1,int m,int[] nums2,int n){for(int i0…

Learning From Documents in the Wild to Improve Document Unwarping论文学习笔记

1 广告 论文2022年发表在SIGGRAPH顶会上。 预训练出来的模型有139M。 对文档的去扭曲变形效果在我们调研的深度学习模型里面算是最好的。 2 摘要 文档图像去扭曲是文档数字化和分析的重要内容。最先进的方法依靠纯合成数据来训练深度网络进行去扭曲。因此,经过训…

为 Go 开发配置Visual Studio Code

在本快速入门中,你将安装和配置 Go for Visual Studio Code 扩展。 在 2020 年 Go 开发人员调查结果中,41% 的受访者选择Visual Studio Code作为他们最喜欢的 Go 编辑器。 这使得Visual Studio Code成为 Go 开发人员最常用的编辑器。 Visual Studio Co…

中间代码生成(Intermediate Code Generation)

中间代码生成(Intermediate Code Generation)申明语句的翻译类型表达式申明式语句翻译简单赋值语句的翻译数组引用的翻译控制流语句的翻译控制流语句及其SDT布尔表达式及其SDT控制流语句翻译的例子布尔表达式和控制流表达式的回填switch语句的翻译过程调…

游戏开发32课 typescript super

super 在类的方法中super就表示当前类的父类。 如果在子类中写了构造函数,在子类构造函数中必须对父类的构造函数进行调用。 例子 (function() { // 父类 class Animal { name: string; constructor(name: string) { this.na…

25. 答疑 - SAP OData 框架处理 Metadata 元数据请求的实现细节,前后端组件部署在同一台物理服务器

我的知识星球 里有一个朋友提出了 SAP OData 服务 metadata 缓存方面的疑问,本文就来详细说一说: jerry,啥时候有时间给介绍一下fiori的Metadata数据系统的处理机制吧。我现在在做的一个项目,用rap开发的。rap开发的service binding,在maintain service注册时,开始注册的…