開発環境での話です。MySQLのバイナリログが増え続けて容量を食ってしまっており、ダンプをインポートした際などには毎回バイナリログのpurgeをしていました。
↓
これをやればバイナリログは消えて容量が戻るのですが、面倒くさくなってきました。
そもそも開発環境だしレプリケーションもしていないしバイナリログもなくてもいいやと思い、バイナリログを出力しない方法をやってみたのでまとめておきます。
バイナリログを出力しない設定
1 |
# vi /etc/my.cnf |
で設定ファイルを開きます。
1 |
log-bin=mysql-bin |
の箇所をコメントアウトします。
1 |
# log-bin=mysql-bin |
再起動します。
1 |
# /etc/init.d/mysql restart |
エラーになりました。
1 2 |
Shutting down MySQL... SUCCESS! Starting MySQL. ERROR! Manager of pid-file quit without updating file. |
MySQLのプロセスが残っている?
検索してみました。
1 |
# find / -name *.pid |
MySQLのプロセスはありませんでした。
もう一度設定ファイルを見てみました。
1 |
# vi /etc/my.cnf |
そうするとコメントアウトした行の下にbinlogのフォーマット記載がありました。
1 2 |
# log-bin=mysql-bin binlog_format=mixed |
これもコメントアウトしました。
1 2 |
# log-bin=mysql-bin # binlog_format=mixed |
もう一度再起動しました。
1 |
# /etc/init.d/mysql restart |
これで再起動出来ました!
要はbinlogの設定を全部コメントアウトする。という事でした。
あと、これをやる前に冒頭のこれをやっておかないと、/var/lib/mysql/にmysql-bin.000xxxが残ってしまいます。
もしやり忘れた場合は、再度binlogの設定を復活して再起動してからpurgeすると出来ました。