正确清理mysql-bin

news2024/9/22 11:32:38

1. 背景

机器磁盘满导致mysql连接不上,删除部分日志,错误将mysql-bin.0050* 都删除,重启mysql失败

$ service mysqld start
Starting MySQL.......... ERROR! The server quit without updating PID file (/data/mysqldata/gzqc249-243-214-g249hqzltcs1.pid).

2. 解决方法

MySQL 数据存放的绝对路径

$ grep datadir /etc/my.cnf
datadir = /data/mysqldata

先备份 /data/mysqldata/mysql-bin.index 然后清空 /data/mysqldata/mysql-bin.index。

启动mysql:

service mysqld start

3. 原因

mysql-bin是数据库的操作日志文件,mysql-bin.index中记录的是文件已经删除,mysql-bin.index内容需要清空。
在这里插入图片描述

4. 正确清理binlog

4.1 设置过期删除时间

查看当前到期时间:

> show variables like 'expire_logs_days'; 
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| expire_logs_days | 30    |
+------------------+-------+

将到期时间由30天设置为10天。

方法一:编辑配置文件 vim /etc/my.cnf

expire_logs_days = 10  //二进制日志自动删除的天数。

此方法需重启mysql服务

方法二:无需重启mysql服务

> set global expire_logs_days = 10;
Query OK, 0 rows affected (0.00 sec)

MariaDB [vss_stock_option_svr_multi]> show variables like 'expire_logs_days'; 
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| expire_logs_days | 10    |
+------------------+-------+
1 row in set (0.00 sec)

4.1 手动删除binlog文件

PURGE MASTER LOGS BEFORE DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY);   //删除1天前的MySQL binlog日志

删除1天前的MySQL binlog日志

> show binary logs;
+------------------+------------+
| Log_name         | File_size  |
+------------------+------------+
| mysql-bin.002338 | 1073742660 |
| mysql-bin.002339 | 1073742551 |
| mysql-bin.002340 | 1073742466 |
| mysql-bin.002341 | 1073742538 |
| mysql-bin.002342 | 1073742770 |
| mysql-bin.002343 | 1073742574 |
| mysql-bin.002344 | 1073742084 |
| mysql-bin.002345 | 1073742809 |
| mysql-bin.002346 | 1073742195 |
| mysql-bin.002347 | 1074775919 |
| mysql-bin.002348 | 1073742659 |
| mysql-bin.002349 | 1073742546 |
| mysql-bin.002350 | 1073741966 |
| mysql-bin.002351 | 1073741891 |
| mysql-bin.002352 | 1073742204 |
| mysql-bin.002353 | 1073989969 |
| mysql-bin.002354 | 1073742107 |
| mysql-bin.002355 | 1073743414 |
| mysql-bin.002356 | 1073742527 |
| mysql-bin.002357 | 1073742335 |
| mysql-bin.002358 | 1073742868 |
| mysql-bin.002359 | 1073742808 |
| mysql-bin.002360 | 1073742326 |
| mysql-bin.002361 | 1073742219 |
| mysql-bin.002362 | 1073742028 |
| mysql-bin.002363 | 1073742256 |
| mysql-bin.002364 | 1073742147 |
| mysql-bin.002365 | 1073742558 |
| mysql-bin.002366 | 1073742303 |
| mysql-bin.002367 | 1073742538 |
| mysql-bin.002368 | 1073741929 |
| mysql-bin.002369 | 1073742054 |
| mysql-bin.002370 | 1073742387 |
| mysql-bin.002371 |  894966812 |
+------------------+------------+
34 rows in set (0.00 sec)

> PURGE MASTER LOGS BEFORE DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY); 
Query OK, 0 rows affected (0.01 sec)

MariaDB [vss_stock_option_svr_multi]> show binary logs;
+------------------+------------+
| Log_name         | File_size  |
+------------------+------------+
| mysql-bin.002359 | 1073742808 |
| mysql-bin.002360 | 1073742326 |
| mysql-bin.002361 | 1073742219 |
| mysql-bin.002362 | 1073742028 |
| mysql-bin.002363 | 1073742256 |
| mysql-bin.002364 | 1073742147 |
| mysql-bin.002365 | 1073742558 |
| mysql-bin.002366 | 1073742303 |
| mysql-bin.002367 | 1073742538 |
| mysql-bin.002368 | 1073741929 |
| mysql-bin.002369 | 1073742054 |
| mysql-bin.002370 | 1073742387 |
| mysql-bin.002371 |  894966812 |
+------------------+------------+
13 rows in set (0.00 sec)

操作说明:

  • 操作前最好备份数据库
  • 不推荐直接在/var/lib/mysql(通过 grep datadir /etc/my.cnf 查找路径)路径下,将binlog.0*删除掉,因为手动删除并不会更新binlog.index,而 binlog.index 的作用是加快查找 binlog 文件的速度。

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

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

相关文章

Linux diffstat命令

Linux diffstat命令根据diff的比较结果&#xff0c;显示统计数字。diffstat读取diff的输出结果&#xff0c;然后统计各文件的插入&#xff0c;删除&#xff0c;修改等差异计量。语法diff [-wV][-n <文件名长度>][-p <文件名长度>]参数&#xff1a;-n<文件名长度…

WPF 笔记1——分析WPF程序文件

看B站刘铁猛老师视频学习WPF 1、创建WPF项目 打开VS&#xff0c;新建一个WPF项目&#xff0c;文件结构如下图&#xff1a; 通常&#xff0c; xxx.xaml、 xxx.xaml.cs是一组文件&#xff0c;用来定义一个名称是xxx的类。 2、xxx.xaml文件剖析 <Window x:Class"WpfAp…

红黑树作业

简介本文是为操作系统作业而实现的红黑树源码。作业题目选题为&#xff1a;“(3)红黑树(rbtree)数据结构介绍及其在Linux内核中的应用(结合内核源码进行分析&#xff0c;内核版本号不低于2.6.0)”。因为网上太多红黑树原理的讲解了&#xff0c;不需要再去讲解原理&#xff0c;所…

Tokitsukaze and a+b=n (hard)(差分)

C-Tokitsukaze and abn (hard)_2023牛客寒假算法基础集训营2 (nowcoder.com) 题目描述 Tokitsukaze有一个整数n&#xff0c;以及m个区间[L, R]。 她想知道有多少种选法&#xff0c;满足:从m个区间中选择两个区间[L; R],[Lj;,R](i≠j)&#xff0c;并从第一个区间选择一个整数a(…

redis为什么需要主从复制?

为什么要有主从复制&#xff0c;使redis具有高可用性&#xff01; 多机情况下主从复制 同步文件和同步命令 同步文件 客户端发送命令 slaveof 给从服务器从服务器发送 sync 命令给主服务器&#xff0c;主服务器收到以后&#xff0c;会执行bgsave命令 生成rdb文件&#xff0c;同…

2.3总线仲裁

文章目录一、引子二、总线仲裁三、集中仲裁方式1.链式查询方式&#xff08;1&#xff09;介绍&#xff08;2&#xff09;过程&#xff08;3&#xff09;特点&#xff08;4&#xff09;优缺点①优点②缺点2.计数器查询方式&#xff08;1&#xff09;介绍&#xff08;2&#xff0…

在线支付系列【4】支付安全之数字签名

有道无术&#xff0c;术尚可求&#xff0c;有术无道&#xff0c;止于术。 文章目录信息摘要摘要算法数据完整性数字签名签名流程验签流程实现代码信息摘要 信息摘要就是一段数据的特征信息&#xff0c;当数据发生了改变&#xff0c;信息摘要也会发生改变&#xff0c;发送方会将…

12月知识小报|线上问题的抽丝剥茧与一锤定音

海恩法则是德国飞机涡轮机的发明者帕布斯海恩提出的一个在航空界关于飞行安全的法则。每一起严重事故的背后&#xff0c;必然有29次轻微事故和300起未遂先兆以及1000起事故隐患。作为开发者&#xff0c;安全生产是我们底线&#xff0c;敬畏每一行代码&#xff0c;挖掘每一个故障…

LINUX学习之文件基本属性(二)

查看文件属性 Linux 系统是一种典型的多用户系统&#xff0c;不同的用户处于不同的地位并拥有不同的权限。在 Linux 系统中&#xff0c;通常使用 chown 命令来修改文件或目录的所有者&#xff0c;chmod 命令则用于设置用户的权限。 chown (change owner) &#xff1a;用于修改…

Linux下的进程通信之system V共享内存

目录 使用system V共享内存进行进程间通信&#xff1a; 获取共享内存shmget 将共享内存关联到进程 去关联共享内存 删除共享内存 简易模拟实现server和client之间的通信&#xff1a; 服务端代码&#xff1a; 客户端代码&#xff1a; 共享内存的特点&#xff1a; 其他…

solrCloud一:zookeeper集群搭建

SolrCloud是基于Solr和Zookeeper的分布式搜索方案&#xff0c;它的主要思想是使用Zookeeper作为集群的配置信息中心。SolrCloud是Solr的一种分布式部署方式 &#xff0c;当索引越来越大时&#xff0c;一个单一的系统无法满足空间和查询效率上的要求&#xff0c;这个时候往往需要…

SpringCloud(11):Hystrix请求合并

1 简介 如图&#xff0c;多个客户端发送请求调用(消费者)项目中的findOne方法&#xff0c;这时候在这个项目中的线程池中会发申请与请求数量相同的线程数&#xff0c;对EurekaServiceProvider(服务提供者)的getUserById方法发起调用&#xff0c;每个线程都要调用一次&#xff0…

圆满落幕!56 人参加,龙蜥社区技术委员会、运营委员会会议顺利完成

1 月 13 日&#xff0c;龙蜥社区分别召开了第 10 次技术委员会会议和第 14 次运营委员会会议&#xff0c;来自 21 家理事单位的委员代表出席。两个会上分别总结和回顾了龙蜥社区 2022 年度整体技术和运营发展情况&#xff0c;就社区产品、重要技术决策、社区治理、2023 年度运营…

塔望3W消费战略全案丨火出天际的预制菜,能否拯救开饭焦虑?

2022年6月塔望咨询开设塔望食品大健康消费研究院&#xff08;简称塔望食研院&#xff09;栏目&#xff0c;塔望食研院以“为食品行业品牌高质量发展赋能”为理念&#xff0c;将不定期发布食品大健康行业研究、消费研究报告。塔望食研院致力于结合外部数据、消费调研数据、企业内…

Web(九)

Web服务器软件Tomcat web服务器软件&#xff1a; 服务器&#xff1a;安装了服务器软件的计算机 服务器软件&#xff1a;接收用户的请求&#xff0c;处理请求&#xff0c;做出响应 web服务器软件&#xff1a;接收用户的请求&#xff0c;处理请求&#xff0c;做出响应。 在…

说话人识别损失函数的PyTorch实现与代码解读

概述 说话人识别中的损失函数分为基于多类别分类的损失函数&#xff0c;和端到端的损失函数&#xff08;也叫基于度量学习的损失函数&#xff09;&#xff0c;关于这些损失函数的理论部分&#xff0c;可参考说话人识别中的损失函数本文主要关注这些损失函数的实现&#xff0c;…

SQL 分组条件深入剖析

问题在 stackoverflow 网站上看到这样一个 SQL 分组条件的需求&#xff0c;需求看似挺简单&#xff0c;但能把 SQL 写正确对于新手来说也不容易&#xff0c;我们拿过来深入剖析一下&#xff0c;数据如下&#xff1a;需求是查找只有Ready 状态的设备。解答自然思路&#xff1a;按…

寅辞旧岁,卯定常虹丨ASKO洗碗机“净”护新春团圆时刻

农历新年是一年中最重要的节日&#xff0c;但过去三年的特殊时光阻碍了很多人的归乡之行&#xff0c;如今当阴霾逐渐散去&#xff0c;必然会引来大规模的新年归乡潮&#xff0c;奔赴一个久违的团圆年。美馔佳宴是新春佳节的永恒命题&#xff0c;新年家里少不了亲友的光临&#…

Windows 7的最后一个版本

前天推送的文章介绍了&#xff0c;在1月10日微软发布了最后一个补丁后&#xff0c;微软为Windows7提供的所有更新(包括收费的ESU)已经完全终止。以后再有新的补丁&#xff0c;则为第三方平台提供的非官方版的了。 早在2022年9月份&#xff0c;微软就发布了支持安全启动UEFI的补…

DocPrompt代码实现与模型微调

数据预处理阶段 PaddleOCR PP-Structure&#xff1a;这个库其实是用于版面分析的一个开源库&#xff0c;参见&#xff1a;github: Layout-Parser/layout-parserhttps://github.com/Layout-Parser/layout-parser 代码推理阶段 Paddle-Inferencehttps://paddle-inference.readt…