本文章小编给大家介绍在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/下面,一般产生的日志文件都类似如下:
- -rw-rw—-1mysqlmysql2.0MSep2817:08mysql-bin.000001
- -rw-rw—-1mysqlmysql1.1GNov1314:43mysql-bin.000002
- -rw-rw—-1mysqlmysql1.1GNov1315:17mysql-bin.000003
- -rw-rw—-1mysqlmysql561MNov1315:52mysql-bin.000004
- -rw-rw—-1mysqlmysql904KNov1316:07mysql-bin.000005
- -rw-rw—-1mysqlmysql194MNov1616:40mysql-bin.000006
- -rw-rw—-1mysqlmysql123MNov1819:18mysql-bin.000007
- -rw-rw—-1mysqlmysql456Nov1616:41mysql-bin.index
- --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′;