MySQLのバイナリログが増え続けて容量を食ってしまうのでbinlogを出力しないようにした

開発環境での話です。MySQLのバイナリログが増え続けて容量を食ってしまっており、ダンプをインポートした際などには毎回バイナリログのpurgeをしていました。

Vagrantの容量が減らなかったのはMySQLのバイナリログが原因だった[Windows VirtualBox]
この記事でVagrantの容量肥大化の為の拡張と圧縮を行いました。 ですが、容量上限は増えたものの、現在の容量の圧縮がうまくいきません...

これをやればバイナリログは消えて容量が戻るのですが、面倒くさくなってきました。

そもそも開発環境だしレプリケーションもしていないしバイナリログもなくてもいいやと思い、バイナリログを出力しない方法をやってみたのでまとめておきます。

スポンサーリンク

バイナリログを出力しない設定

# vi /etc/my.cnf

で設定ファイルを開きます。

log-bin=mysql-bin

の箇所をコメントアウトします。

# log-bin=mysql-bin

再起動します。

# /etc/init.d/mysql restart

エラーになりました。

Shutting down MySQL... SUCCESS!
Starting MySQL. ERROR! Manager of pid-file quit without updating file.

MySQLのプロセスが残っている?

検索してみました。

# find / -name *.pid

MySQLのプロセスはありませんでした。

もう一度設定ファイルを見てみました。

# vi /etc/my.cnf

そうするとコメントアウトした行の下にbinlogのフォーマット記載がありました。

# log-bin=mysql-bin
binlog_format=mixed

これもコメントアウトしました。

# log-bin=mysql-bin
# binlog_format=mixed

もう一度再起動しました。

# /etc/init.d/mysql restart

これで再起動出来ました!

要はbinlogの設定を全部コメントアウトする。という事でした。

あと、これをやる前に冒頭のこれをやっておかないと、/var/lib/mysql/にmysql-bin.000xxxが残ってしまいます。

Vagrantの容量が減らなかったのはMySQLのバイナリログが原因だった[Windows VirtualBox]
この記事でVagrantの容量肥大化の為の拡張と圧縮を行いました。 ですが、容量上限は増えたものの、現在の容量の圧縮がうまくいきません...

もしやり忘れた場合は、再度binlogの設定を復活して再起動してからpurgeすると出来ました。