ll /opt/mysql/data/
-rw-rw----. 1 mysql mysql 63278 9月 11 02:03 mysql-bin.000001 -rw-rw----. 1 mysql mysql 10966 9月 11 02:03 mysql-bin.000002 -rw-rw----. 1 mysql mysql 133 9月 11 02:04 mysql-bin.000003 -rw-rw----. 1 mysql mysql 133 9月 12 02:00 mysql-bin.000004 -rw-rw----. 1 mysql mysql 271 9月 12 18:25 mysql-bin.000005 -rw-rw----. 1 mysql mysql 133 9月 12 18:55 mysql-bin.000006 -rw-rw----. 1 mysql mysql 133 9月 12 19:48 mysql-bin.000007 -rw-rw----. 1 mysql mysql 133 9月 12 21:21 mysql-bin.000008 -rw-rw----. 1 mysql mysql 321 9月 18 17:30 mysql-bin.000009生产环境中这些文件都会很大,默认每个1G左右大小,长期不处理会占满硬盘空间
下面来介绍几种解决方法:1、如果你的数据库没有搭建主从同步这样的服务 , binlog日志也不用的情况下 , 你可以将/etc/my.cnf文件下面行删除或注释掉
log-bin=mysql-bin如果你需要这样的文件 , 那么建议你在主配置文件 /etc/my.cnf 中添加如下行 , 来限制 binlog日志文件存在时间 , 过期自动删除expire_logs_days = 7 #只保留7天的日志文件2、如果你服务器上面的binlog日志已经影响到了磁盘空间,那么你可以使用下面命令清除
mysql> reset master; #清空所有binlog文件3、如果你的服务器 , mysql做了主从同步 , 那么上面的命令就不适合你了 , 因为binlog文件不能全部删除 , 否则会导致数据不同步
mysql> show slave status\G; #在slave上查看从库读binlog读到了哪里 Master_Log_File: mysql-bin.000009 # 我们可以看到是mysql-bin.000009mysql> purge master logs to 'mysql-bin.000009'; #在master中执行这条指令 , 将mysql-bin.000009前的binlog都删掉mysql> purge master logs before '2014-11-18 00:00:00'; #将此日期前的binlog都删掉 参考链接:http://www.linuxidc.com/Linux/2016-03/129647.htm