问题背景

随着 MySQL 数据库的使用,/usr/local/mysql/data 目录下会生成很多 mysql-bin.XXXXXX 文件,会占用很多磁盘空间。

这些文件是用于记录 MySQL 数据库的操作行为,用于数据恢复和主从数据同步。

在机器的磁盘空间不足,而又不考虑 MySQL 历史数据恢复的情况下,是

处理方式

1、停止 MySQL 服务(service mysqld stop)
2、删除mysql-bin打头的文件(mysql-bin.index除外)
3、修改mysql-bin.index文件,将删除了的文件名从该文件中删除
4、启动 MySQL 服务(service mysqld start)

可以删除这些文件的。

问题分析与彻底解决

如果是由于配置Master和slave 方式产生的日志文件也可以通过

在Master 上执行

reset master;

在slave 上执行:

reset slave;

日志文件是mysql记录的日志文件,用于数据库崩溃后恢复数据和主从数据库进行数据同步的。如果没有进行主从数据库,可以通过修改配置文件让mysql关闭记录操作日志功能。

如何关闭mysql的日志功能呢?

vi /usr/local/mysql/my.cnf

log-bin=mysql-bin

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

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