当前位置:首页 > Mysql教程 > 列表

linux系统中清理MySql的日志文件mysql-bin.00000

发布:smiling 来源: PHP粉丝网  添加日期:2014-10-02 20:10:23 浏览: 评论:0 

本文章小编给大家介绍在linux下使用命令方式来清除像mysql-bin.00000的MySql日志文件,如果我直接用手删除可能导致mysql无法重启,所以最好使用命令模式了.

首先说明,mysql-bin.00000*类似的文件是mysql的日志文件。

通过命令,代码如下:du -h –max-depth=1 /

查看根目录下每个文件夹所占用存储的大小,发现/var占用了快3G,进一步使用du命令,发现是存放mysql数据文件的文件夹占用了绝大部分空间,进入该文件夹,发现有很多mysql-bin.00000开头的文件,而且其中的某些达到了1G以上,google发现原来这些用户是mysql记录的日志文件,用于数据库崩溃后恢复数据和主从数据库进行数据同步的,如果没有进行主从数据库,可以通过修改配置文件让mysql关闭记录操作日志功能,关闭只需要在log-bin=mysql-bin前加上一个“#”即可,不要忘记重启mysql服务.

清理日志方法为,代码如下:

PURGE MASTER LOGS TO 'mysql-bin.000013';

或:PURGE MASTER LOGS BEFORE '2010-10-18 00:00:00';

另外可以通过 RESET MASTER 来删除整个日志文件,注意,如果使用主从数据库,在操作前先确保从数据库已经完全同步了主数据库的数据.

上述命令都是登陆到mysql后执行的.

很多人安装的mysql是开启了日志文件记录的,一般有比较频繁的mysql数据库操作就会产生大量的日志文件在/usr/local/mysql/var/下面,一般产生的日志文件都类似如下:

  1. -rw-rw—- 1 mysql mysql 2.0M Sep 28 17:08 mysql-bin.000001 
  2. -rw-rw—- 1 mysql mysql 1.1G Nov 13 14:43 mysql-bin.000002 
  3. -rw-rw—- 1 mysql mysql 1.1G Nov 13 15:17 mysql-bin.000003 
  4. -rw-rw—- 1 mysql mysql 561M Nov 13 15:52 mysql-bin.000004 
  5. -rw-rw—- 1 mysql mysql 904K Nov 13 16:07 mysql-bin.000005 
  6. -rw-rw—- 1 mysql mysql 194M Nov 16 16:40 mysql-bin.000006 
  7. -rw-rw—- 1 mysql mysql 123M Nov 18 19:18 mysql-bin.000007 
  8. -rw-rw—- 1 mysql mysql  456 Nov 16 16:41 mysql-bin.index 
  9. --phpfensi.com 

从上面可以看到,这些mysql-bin.00000* 类似的文件有的体积非常大,而且一般都在几十MB到几个GB,更甚会吃掉整个硬盘空间,从来导致mysql无法启动或报错,所以在没有必要的情况下我们是可以不用开启日志文件的.

先说下删除mysql日志的方法:

执行:/usr/local/mysql/bin/mysql -u root -p

输入密码登录后再执行,代码如下:

reset master;

这样就可以了,当然也可以手动删除,但是可能会产生一些副作用,我没去证实过.

这些文件是mysql记录的日志文件,用于数据库崩溃后恢复数据和主从数据库进行数据同步的,如果没有进行主从数据库,可以通过修改配置文件让mysql关闭记录操作日志功能,那如何避免以后再产生这些文件呢,如何关闭mysql的日志功能呢?

方法如下:vi /etc/my.cnf

找到,代码如下:log-bin=mysql-bin

将这行注释掉,前面加上#,再重启mysql就可以了.

假如说你是手工删除的mysql日志文件,mysql-bin.00000*,发现mysql启动不了,那么你看一下mysql-bin.index这个文件是否还存在,如果还存在的话就将mysql-bin.index也删除,然后就可以正常启动了.

其他清理方法,登录数据库情况下,代码如下:

PURGE MASTER LOGS TO ‘mysql-bin.000013′;

或:PURGE MASTER LOGS BEFORE ’2010-10-18 00:00:00′;

Tags: linux系统清理 MySql日志 mysql-bin

分享到: