何か、うちのサーバのうちの一台が、そんなに使い込んでいるわけでもないのにパーティションの使用率が 63% とかなってて、調べてみたら MySQL のバイナリログが大量に作られていた。
# df -k
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/simfs 40960000 26685216 14274784 66% /
none 9222092 4 9222088 1% /dev
# ls -la ./usr/local/mysql/var
total 13688436
<略>
-rw-rw---- 1 mysql mysql 1073791652 Apr 1 2010 mysql-bin.000015
-rw-rw---- 1 mysql mysql 190093790 Apr 5 2010 mysql-bin.000016
-rw-rw---- 1 mysql mysql 286974 Apr 5 2010 mysql-bin.000017
-rw-rw---- 1 mysql mysql 171114418 Apr 9 2010 mysql-bin.000018
-rw-rw---- 1 mysql mysql 866200268 Apr 30 09:39 mysql-bin.000019
-rw-rw---- 1 mysql mysql 1859 Apr 30 09:43 mysql-bin.000020
-rw-rw---- 1 mysql mysql 125 Apr 30 09:43 mysql-bin.000021
-rw-rw---- 1 mysql mysql 142644 Apr 30 09:48 mysql-bin.000022
-rw-rw---- 1 mysql mysql 1073817436 May 14 14:16 mysql-bin.000023
-rw-rw---- 1 mysql mysql 1073803242 May 27 14:05 mysql-bin.000024
-rw-rw---- 1 mysql mysql 1073793089 Jun 10 02:51 mysql-bin.000025
-rw-rw---- 1 mysql mysql 1073767183 Jun 26 08:23 mysql-bin.000026
-rw-rw---- 1 mysql mysql 1073818211 Jul 14 14:48 mysql-bin.000027
-rw-rw---- 1 mysql mysql 776652896 Jul 28 06:56 mysql-bin.000028
-rw-rw---- 1 mysql mysql 1073830771 Aug 17 10:07 mysql-bin.000029
-rw-rw---- 1 mysql mysql 1073840585 Sep 4 00:07 mysql-bin.000030
-rw-rw---- 1 mysql mysql 1073889708 Sep 15 19:45 mysql-bin.000031
-rw-rw---- 1 mysql mysql 1073831622 Oct 2 02:53 mysql-bin.000032
-rw-rw---- 1 mysql mysql 1073807767 Oct 19 01:51 mysql-bin.000033
-rw-rw---- 1 mysql mysql 157164502 Oct 21 17:57 mysql-bin.000034
-rw-rw---- 1 mysql mysql 646 Oct 19 01:51 mysql-bin.index
<略>
これは、レプリケーションをする時に必要なバイナリログなので、実際にはいらんのよねえ。レプリケーションしてないし。
つーことで、最後の3ファイルくらい(念のため)残して、他は全部削除した。
おかげで使用率は 35% に。よしよし。
# df -k
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/simfs 40960000 14229292 26730708 35% /
none 9222092 4 9222088 1% /dev
で、my.cnf 修正して、log-bin を作らないようした。
# cp /etc/my.cnf /etc/my.cnf_20101021
# vi /etc/my.cnf
# diff /etc/my.cnf /etc/my.cnf_20101021
60,61c60
< # 2010/10/21
< #log-bin=mysql-bin
---
> log-bin=mysql-bin
んで、再起動。(一応、今回は一旦 STOP してから START した)
# service mysqld stop
Stopping MySQL: [ OK ]
# service mysqld startTimeout error occurred trying to start MySQL Daemon.
Starting MySQL: [FAILED]
起動出来なかったし。(^^;
ログ見てみると、
# tail hogehoge.exsample.com.err
101021 18:09:09 [Note] /usr/local/mysql/libexec/mysqld: Shutdown complete101021 18:09:09 mysqld_safe mysqld from pid file /usr/local/mysql/var/hogehoge.exsample.com.pid ended
101021 18:09:13 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/var
101021 18:09:14 [ERROR] You need to use --log-bin to make --binlog-format work.
101021 18:09:14 [ERROR] Aborting101021 18:09:14 [Note] /usr/local/mysql/libexec/mysqld: Shutdown complete
101021 18:09:14 mysqld_safe mysqld from pid file /usr/local/mysql/var/hogehoge.exsample.com.pid ended
もう一度 my.cnf 見てみると、ああ、log-bin の他に、binlog_format という設定項目もあったのか。こいつもコメントに。
# vi /etc/my.cnf
# diff /etc/my.cnf /etc/my.cnf_20101021
60,61c60
< # 2010/10/21
< #log-bin=mysql-bin
---
> log-bin=mysql-bin
64,65c63
< # 2010/10/21
< #binlog_format=mixed
---
> binlog_format=mixed
これで、もう一度起動してみる。
# service mysqld start
Starting MySQL: [ OK ]
OK。問題なく起動した。
つーことで、一安心、一安心。
コメントする