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)