Binlog是mysql以二进制形式打印的日志,它默认不加密,不压缩。binlog二进制日志包含了所有更新了数据或者已经潜在更新了数据(例如,没有匹配任何行的一个DELETE)的所有语句。语句以“事件”的形式保存,它描述数据更改文件位置和格式:当用--log-bin[=file_name]选项启动时,mysqld写入包含所有更新数据的SQL命令的日志文件。如果未给出file_name值, 默认名为-bin后面所跟的主机名。如果给出了文件名,但没有包含路径,则文件被写入数据目录
数据库的操作日志
mysql-bin.000001 mysql-bin.000002 mysql-bin.000003
等等好多日志文件都10多G了我mysql总数据库加起来都不到1G
这些可以清理掉的。
输入mysql -u root -p然后输入密码
成功进去后输入reset master;
#mysql> reset master; Query OK, 0 rows affected, 1 warning (0.20 sec)
就可以清空mysql日志了
如果不想mysql记录日志可以在my.cnf中关闭掉
找到my.cnf打开它 找到log-bin=mysql-bin然后注释掉就可以了
#log-bin=mysql-bin
也可以添加配置使其自动清理,my.cnf配置中添加
expire_logs_days=30
这个的缺点是需要重启mysql才会清理
或者
set global expire_logs_days = 30; flush logs
设置全局的binlog过期时间,不用重启刷新log使其生效
还有一种清理方式
show binary logs; 查看多少binlog日志,占用多少空间。 PURGE MASTER LOGS TO 'mysql-bin.002467'; 删除mysql-bin.002467以前所有binlog ,不包括自己; PURGE MASTER LOGS BEFORE '2015-08-05 13:00:00'; #清除2018-08-05 13:00:00前binlog日志;