【MySQL】バイナリログが溜まってハード圧迫の対処。

たいしてデータが入ってないのに、使用容量は92% !?!?

[root@limix]# df -h
Filesystem          サイズ  使用  残り 使用% マウント位置
/dev/mapper/VolGroup00-LogVol17
6.9G  6.1G  547M  92% /var/lib/mysql

[root@limix ]# cd /var/lib/mysql
[root@limix mysql]# du -lh
16K     ./lost+found
208K    ./iqsvm
228K    ./KB
9.1M    ./review
252K    ./bbs
6.3M    ./relay
1.4M    ./schedule
4.0K    ./test
804K    ./mysql
5.9G    .

[root@limix mysql]# ls -al
合計 6132824
drwxr-xr-x 11 mysql mysql       4096  9月  9 14:04 .
drwxr-xr-x 32 root  root        4096  1月  8  2009 ..
drwx------  2 mysql mysql       4096  9月  5 15:43 KB
drwx------  2 mysql mysql       4096  9月  9 13:41 bbs
-rw-rw----  1 mysql mysql    5242880  9月  9 14:04 ib_logfile0
-rw-rw----  1 mysql mysql    5242880  1月  8  2009 ib_logfile1
-rw-rw----  1 mysql mysql   18874368  9月  9 14:04 ibdata1
drwx------  2 mysql mysql       4096  8月 26 15:13 iqsvm
-rw-rw----  1 mysql root       20429  9月  9 14:04 limix.fujitsu.support.com.err
drwx------  2 root  root       16384  6月 15 11:56 lost+found
drwx--x--x  2 mysql mysql       4096  9月  9 13:41 mysql
-rw-rw----  1 mysql mysql        117  1月 22  2009 mysql-bin.000001
-rw-rw----  1 mysql mysql    6942108  1月 22  2009 mysql-bin.000002
-rw-rw----  1 mysql mysql   19922775  1月 26  2009 mysql-bin.000003
-rw-rw----  1 mysql mysql 1073742133  5月 20 04:31 mysql-bin.000004
-rw-rw----  1 mysql mysql  593296994  6月 11 17:17 mysql-bin.000005
-rw-rw----  1 mysql mysql        117  6月 15 09:10 mysql-bin.000006
-rw-rw----  1 mysql mysql        117  6月 15 11:50 mysql-bin.000007
-rw-rw----  1 mysql mysql        117  6月 15 11:56 mysql-bin.000008
-rw-rw----  1 mysql mysql        117  6月 15 12:11 mysql-bin.000009
-rw-rw----  1 mysql mysql        117  6月 15 12:14 mysql-bin.000010
-rw-rw----  1 mysql mysql        117  6月 16 21:44 mysql-bin.000011
-rw-rw----  1 mysql mysql   24748368  6月 17 12:09 mysql-bin.000012
-rw-rw----  1 mysql mysql        117  6月 18 08:22 mysql-bin.000013
-rw-rw----  1 mysql mysql        117  6月 19 12:53 mysql-bin.000014
-rw-rw----  1 mysql mysql        117  6月 22 01:49 mysql-bin.000015
-rw-rw----  1 mysql mysql        117  6月 22 01:56 mysql-bin.000016
-rw-rw----  1 mysql mysql 1073742219  6月 26 22:27 mysql-bin.000017
-rw-rw----  1 mysql mysql 1073742086  6月 28 12:09 mysql-bin.000018
-rw-rw----  1 mysql mysql 1073742201  6月 30 01:46 mysql-bin.000019
-rw-rw----  1 mysql mysql  744967294  7月  9 10:13 mysql-bin.000021
-rw-rw----  1 mysql mysql      44272  7月 13 15:43 mysql-bin.000022
-rw-rw----  1 mysql mysql        117  7月 13 16:53 mysql-bin.000023
-rw-rw----  1 mysql mysql        290  7月 13 21:33 mysql-bin.000024
-rw-rw----  1 mysql mysql  559400061  9月  9 14:04 mysql-bin.000025
-rw-rw----  1 mysql mysql        475  7月 14 11:01 mysql-bin.index
-rw-r--r--  1 root  root           0  6月 15 11:09 olddate
drwx------  2 mysql mysql       4096  7月  2 17:09 relay
drwx------  2 mysql mysql       4096  9月  9 13:41 review
drwx------  2 mysql mysql       4096  9月  9 13:41 schedule
drwxr-xr-x  2 mysql mysql       4096  1月  8  2009 test

これらの 「mysql-bin.xxxxxx」とは、レプリケーションをする時に必要なバイナリログらしい。
レプリケーションはしないので、削除する。。

■バイナリログファイル削除。
mysql -u root -p
MYSQLに入り、

SHOW BINARY LOGS;
で、ファイル確認。

PURGE MASTER LOGS BEFORE '2009-09-09 15:00:00';
または、PURGE MASTER LOGS BEFORE now();
または、
PURGE MASTER LOGS TO 'mysql-bin.xxxxxxx';
で、削除される。

mysql> SHOW BINARY LOGS;
+------------------+------------+
| Log_name         | File_size  |
+------------------+------------+
| mysql-bin.000001 |        117 |
| mysql-bin.000002 |    6942108 |
| mysql-bin.000003 |   19922775 |
| mysql-bin.000004 | 1073742133 |
| mysql-bin.000005 |  593296994 |
| mysql-bin.000006 |        117 |
| mysql-bin.000007 |        117 |
| mysql-bin.000008 |        117 |
| mysql-bin.000009 |        117 |
| mysql-bin.000010 |        117 |
| mysql-bin.000011 |        117 |
| mysql-bin.000012 |   24748368 |
| mysql-bin.000013 |        117 |
| mysql-bin.000014 |        117 |
| mysql-bin.000015 |        117 |
| mysql-bin.000016 |        117 |
| mysql-bin.000017 | 1073742219 |
| mysql-bin.000018 | 1073742086 |
| mysql-bin.000019 | 1073742201 |
| mysql-bin.000020 |          0 |
| mysql-bin.000021 |  744967294 |
| mysql-bin.000022 |      44272 |
| mysql-bin.000023 |        117 |
| mysql-bin.000024 |        290 |
| mysql-bin.000025 |  559400061 |
| mysql-bin.000026 |         98 |
+------------------+------------+
26 rows in set (0.05 sec)

mysql> PURGE MASTER LOGS BEFORE '2009-09-09 15:00:00';
Query OK, 0 rows affected, 1 warning (9.70 sec)

mysql> SHOW BINARY LOGS;
+------------------+-----------+
| Log_name         | File_size |
+------------------+-----------+
| mysql-bin.000026 |        98 |
+------------------+-----------+
1 row in set (0.00 sec)

■自動生成を止める。
my.cnf の
> # Replication Master Server (default)
> # binary logging is required for replication
> log-bin
この log-bin をコメントアウト。

MYSQL を再起動。
[root@limix mysql]# /etc/init.d/mysql restart
Shutting down MySQL..                                      [  OK  ]
Starting MySQL.                                            [  OK  ]

3% に減った!すっきり♪♪

参考LINK
■[mysql] バイナリログ削除
http://d.hatena.ne.jp/shohu33/20090321/1237701641

■mysql-bin.000001が肥大化する
http://blog.development-network.net/ung/2009/07/mysql-bin000001.html