一不小心删除mysql的binary log文件,File ‘./binlog.000141’ not found错误

image

因为mysql会自动生成binary log文件,而且非常大,久而久之,对于小主机可能就不够用,尤其是小网站,加硬盘虽然能解决,但是也不是根本解决的办法,于是就使用命令来每隔一段时间删除一些log文件。

设置定时删除binary log文件

首先登陆你的mysql root用户

mysql -u root -p

然后设置定时删除log文件

mysql> SET GLOBAL binlog_expire_logs_seconds = 43200;

后面的数字是秒,也就是说43200是半天,12个小时就删除一次,mysql8.0以前这里是设置天,不是秒。

这样的话你的系统就会每隔12个小时删除一次binary log文件了。

File ‘./binlog.000141’ not found错误

最近发现网站开启有些慢,查看一下主机,发现只有几G空间,不是不想升级主机,最近主机商中间一大段的配置都没有了,直接要求从32元/月到335元/月,于是就想手动删除log文件,以前也这样操作过,binary log文件都保存在这个文件夹/var/lib/mysql,一不小心全删除了,结果数据库都启动不了,网站自然也打不开。

问过chatgpt,给的方法没用,还是google,最终找到了解决办法。

解决办法

打开/var/lib/mysql/binlog.index,编辑此文件,记得先备份此文件,把文件中binlog.000141这一行删除,哪一行出问题,删除哪一行,我建议删除里面所有的数据,然后保存,重启mysql

systemctl restart mysql

原方法来源:https://superuser.com/questions/576608/mysql-wont-start-because-it-cant-find-mysql-bin-000006-errcode-2-how-do-i-f

写此文以做记录,数据很重要,别随便乱删除!

分享到

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理。

搜索
目录快览
    热门建站方式