萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> mysql關閉與刪除bin

mysql關閉與刪除bin

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)

copyright © 萬盛學電腦網 all rights reserved