mysql中如果我们开启bin-log日志全在mysql目录发现大量的mysql-bin.000001,mysql-bin.000002等这些文章,如果多了会发现占很大的空间,下面我来介绍mysql-bin日志关闭与删除方法.
关闭bin-log日志:
当开启bin-log日志时,会生成很多mysql-bin.0000*类似的文件,而且可能会占用很大的硬盘空间,对于自己的测试机器或硬盘比较紧张的vps,而又不需要做master,slave的配置,完全可以关闭日志功能.
关闭操作很简单,找到配置文件my.cnf,对于linux,一般默认在/etc目录下,打开此文件,使用井号(#)注释掉如下两个配置项目即可,代码如下:
log-bin=mysql-bin
binlog_format=mixed
例,vi /etc/my.cnf 或my.cnf的路径,把其中的log-bin=mysql-bin修改为#log-bin=mysql-bin,重启mysql即可生效.
配置修改好后需要重启mysqld服务才能生效,可能在重启时候会收到一个错误,“ERROR 1186 (HY000): Binlog closed,cannot RESET MASTER”,解决办法是先登入到mysql命令行中执行 reset master 即可。reset master的用途就是删除先前所以的bin-log日志文件。所以在master、slave配置环境中慎用此命令。
删除bin-log日志
1.查找当前有哪些二进制日志文件,代码如下:
- mysql> show binary logs;
- +
- | Log_name | File_size |
- +
- | mysql-bin.000001 | 1357315 |
- | mysql-bin.000002 | 117 |
- | mysql-bin.000003 | 404002 |
- | mysql-bin.000004 | 2050722 |
- | mysql-bin.000005 | 139103 |
- | mysql-bin.000006 | 46702 |
- | mysql-bin.000007 | 117 |
- | mysql-bin.000008 | 98 |
- | mysql-bin.000009 | 117 |
- | mysql-bin.000010 | 1254 |
- | mysql-bin.000011 | 117 |
- | mysql-bin.000012 | 29394942 |
- | mysql-bin.000013 | 422100 |
- | mysql-bin.000014 | 117 |
- | mysql-bin.000015 | 117 |
- | mysql-bin.000016 | 98 |
- | mysql-bin.000017 | 117 |
- | mysql-bin.000018 | 117 |
- | mysql-bin.000019 | 285300 |
- | mysql-bin.000020 | 181229 |
- | mysql-bin.000021 | 98 |
- +
- 21 rows in set (0.03 sec)
2.删除bin-log(删除mysql-bin.000018之前的所有二进制日志文件),代码如下:
- mysql> purge binary logs to 'mysql-bin.000018';
- Query OK, 0 rows affected (0.08 sec)
- mysql> show binary logs;
- +
- | Log_name | File_size |
- +
- | mysql-bin.000018 | 117 |
- | mysql-bin.000019 | 285300 |
- | mysql-bin.000020 | 181229 |
- | mysql-bin.000021 | 98 |
- +
- 4 rows in set (0.00 sec)
- mysql> show binlog events;
- +
- | Log_name | Pos | Event_type | Server_id | End_log_pos | Info |
- +
- | mysql-bin.000018 | 4 | Format_desc | 1 | 98 | Server ver: 5.0.45-log, Binlog ver: 4 |
- | mysql-bin.000018 | 98 | Stop | 1 | 117 | |
- +
- 2 rows in set (0.01 sec)
|