mysql bin.000008_解决"mysql-bin.000001"占用超大空间的问题

博客讲述了作者遇到MySQL日志文件如mysql-bin.000008等占用大量磁盘空间导致服务器问题,通过分析日志类型和作用,了解到这些文件主要用于操作审查和多数据库同步。在不需要这些功能的情况下,作者选择清理并关闭日志记录,通过注释掉配置文件中的log-bin选项,重启MySQL服务,成功释放了数GB的磁盘空间。
摘要由CSDN通过智能技术生成

最近几个月服务器总是频繁当机,导致比尔盖子的可用性得不到保证。但说也奇怪,当机的时候,服务器可以正常连接,Nginx也看似正常,但就是PHP-FPM失去响应。后来无意中df -h一下,发现:

rootfs 7.7G 7.7G 0 100% /

根目录满了!便认为是日志太多,清理了下日志。但基本每个一个星期日志就会满。弄得比尔盖子不得安宁。后来就把/var独立分区了,但依然不奏效,有多少占多少。也清理过/var/tmp和/var/cache,但效果依然有限。

今天,耐着性子du -ah,发现/var/lib/mysql占用空间异常,cd到这里ls -lh后发现:

-rw-rw---- 1 mysql mysql 5242880 Feb 27 14:49 ib_logfile0

-rw-rw---- 1 mysql mysql 5242880 Dec 27 17:55 ib_logfile1

-rw-rw---- 1 mysql mysql 588M Mar 12 02:03 maria_log.00000003

-rw-rw---- 1 mysql mysql 52 Mar 12 01:54 maria_log_control

drwx------ 2 mysql root 4.0K Jan 15 14:28 mysql

-rw-rw---- 1 mysql mysql 20K Dec 27 17:54 mysqld-bin.000001

-rw-rw---- 1 mysql mysql 715K Dec 27 17:54 mysqld-bin.000002

-rw-rw---- 1 mysql mysql 625 Dec 28 11:46 mysqld-bin.000003

-rw-rw---- 1 mysql mysql 125 Dec 27 18:20 mysqld-bin.000004

-rw-rw---- 1 mysql mysql 125 Dec 27 18:20 mysqld-bin.000005

-rw-rw---- 1 mysql mysql 125 Dec 27 18:21 mysqld-bin.000006

-rw-rw---- 1 mysql mysql 125 Dec 27 18:21 mysqld-bin.000007

-rw-rw---- 1 mysql mysql 125 Dec 27 18:22 mysqld-bin.000008

-rw-rw---- 1 mysql mysql 125 Dec 27 18:22 mysqld-bin.000009

-rw-rw---- 1 mysql mysql 20K Dec 27 18:22 mysqld-bin.000010

-rw-rw---- 1 mysql mysql 715K Dec 27 18:22 mysqld-bin.000011

-rw-rw---- 1 mysql mysql 125 Dec 27 18:24 mysqld-bin.000012

-rw-rw---- 1 mysql mysql 125 Dec 27 18:25 mysqld-bin.000013

-rw-rw---- 1 mysql mysql 125 Dec 27 18:27 mysqld-bin.000014

-rw-rw---- 1 mysql mysql 125 Dec 28 09:55 mysqld-bin.000015

-rw-rw---- 1 mysql mysql 125 Dec 28 11:41 mysqld-bin.000016

-rw-rw---- 1 mysql mysql 125 Dec 28 11:42 mysqld-bin.000017

-rw-rw---- 1 mysql mysql 125 Dec 28 12:07 mysqld-bin.000018

-rw-rw---- 1 mysql mysql 1.4K Dec 28 12:49 mysqld-bin.000019

-rw-rw---- 1 mysql mysql 125 Dec 28 16:31 mysqld-bin.000020

-rw-rw---- 1 mysql mysql 107M Dec 28 18:30 mysqld-bin.000021

-rw-rw---- 1 mysql mysql 1.2M Dec 30 09:22 mysqld-bin.000022

-rw-rw---- 1 mysql mysql 125 Dec 30 09:26 mysqld-bin.000023

-rw-rw---- 1 mysql mysql 3.8K Dec 30 12:29 mysqld-bin.000024

-rw-rw---- 1 mysql mysql 59M Jan 11 21:34 mysqld-bin.000025

-rw-rw---- 1 mysql mysql 10M Jan 14 15:16 mysqld-bin.000026

-rw-rw---- 1 mysql mysql 186K Jan 15 05:16 mysqld-bin.000027

-rw-rw---- 1 mysql mysql 21K Jan 15 14:46 mysqld-bin.000028

-rw-rw---- 1 mysql mysql 13K Jan 15 15:12 mysqld-bin.000029

-rw-rw---- 1 mysql mysql 62M Jan 17 16:36 mysqld-bin.000030

-rw-rw---- 1 mysql mysql 63M Jan 18 17:10 mysqld-bin.000031

-rw-rw---- 1 mysql mysql 125 Jan 18 17:16 mysqld-bin.000032

-rw-rw---- 1 mysql mysql 21K Jan 18 17:23 mysqld-bin.000033

-rw-rw---- 1 mysql mysql 118M Jan 22 12:41 mysqld-bin.000034

-rw-rw---- 1 mysql mysql 209K Jan 22 12:59 mysqld-bin.000035

-rw-rw---- 1 mysql mysql 117M Jan 28 11:59 mysqld-bin.000036

-rw-rw---- 1 mysql mysql 125 Jan 28 13:46 mysqld-bin.000037

-rw-rw---- 1 mysql mysql 24M Jan 28 16:01 mysqld-bin.000038

-rw-rw---- 1 mysql mysql 460K Jan 28 16:10 mysqld-bin.000039

-rw-rw---- 1 mysql mysql 7.0M Jan 28 16:52 mysqld-bin.000040

-rw-rw---- 1 mysql mysql 2.3M Jan 28 17:12 mysqld-bin.000041

-rw-rw---- 1 mysql mysql 2.1M Jan 28 17:27 mysqld-bin.000042

-rw-rw---- 1 mysql mysql 173K Jan 28 17:37 mysqld-bin.000043

-rw-rw---- 1 mysql mysql 378K Jan 28 17:44 mysqld-bin.000044

-rw-rw---- 1 mysql mysql 79K Jan 28 17:50 mysqld-bin.000045

-rw-rw---- 1 mysql mysql 272K Jan 28 18:12 mysqld-bin.000046

-rw-rw---- 1 mysql mysql 156K Jan 28 18:15 mysqld-bin.000047

-rw-rw---- 1 mysql mysql 962K Jan 28 18:33 mysqld-bin.000048

-rw-rw---- 1 mysql mysql 43K Jan 28 18:40 mysqld-bin.000049

-rw-rw---- 1 mysql mysql 28M Jan 29 11:43 mysqld-bin.000050

-rw-rw---- 1 mysql mysql 125 Jan 29 11:46 mysqld-bin.000051

-rw-rw---- 1 mysql mysql 139K Jan 29 12:37 mysqld-bin.000052

-rw-rw---- 1 mysql mysql 135K Jan 29 12:44 mysqld-bin.000053

-rw-rw---- 1 mysql mysql 409M Feb 9 23:18 mysqld-bin.000054

-rw-rw---- 1 mysql mysql 482M Feb 17 09:37 mysqld-bin.000055

-rw-rw---- 1 mysql mysql 542M Feb 27 12:30 mysqld-bin.000056

-rw-rw---- 1 mysql mysql 125 Feb 27 12:31 mysqld-bin.000057

-rw-rw---- 1 mysql mysql 125 Feb 27 14:48 mysqld-bin.000058

-rw-rw---- 1 mysql mysql 854M Mar 13 12:08 mysqld-bin.000059

-rw-rw---- 1 mysql mysql 1.1K Feb 27 14:49 mysqld-bin.index

上帝老天爷,这些log和bin都是什么玩意儿?!最后找到资料:

mysql-bin.000001、mysql-bin.000002等文件是的操作日志,例如UPDATE一个表,或者DELETE一些数据,即使该语句没有匹配的数据,这个命令也会存储到日志文件中,还包括每个语句执行的时间,也会记录进去的。这主要是用于操作审查和多数据库同步的。ib_logfile则是用来记录InnoDB的表一致性的,只有在当机后才能发挥作用。maria_log.00000003则是比尔盖子使用的MariaDB特有的文件,作用也差不多。

但是对比尔盖子来说,没有主从数据库,也不用审查操作,这些文件完全没有任何用处!因此,首先清理一下这些文件。然后编辑配置文件,组织其再记录这些日志,铲草除根。Gentoo的MySQL日志在/etc/mysql/my.cnf。把里面的log-bin这一行注释掉。

然后重启MySQL服务器,问题搞定!可用空间瞬间增加数GB!

作者 biergaizi2009

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值