Vagrantの容量が減らなかったのはMySQLのバイナリログが原因だった[Windows VirtualBox]

この記事でVagrantの容量肥大化の為の拡張と圧縮を行いました。

ですが、容量上限は増えたものの、現在の容量の圧縮がうまくいきませんでした。

VirtualBox Vagrantの容量の割当増加(拡張)と圧縮手順のまとめ[Windows]
Windows VirtualBox Vagrantの仮想環境で容量が足りなくなってきましたので増やしたいと思います。また、古いファイルは削...

色々調べているとMySQLのログファイルがたまってしまうようでしたので、以下の事をやってみたところ、使用容量が減りました。($ df -hで確認)

  • バイナリログの削除
  • バイナリログの保有期間短縮

レプリケーション設定をしている場合はスレーブからのlogに注意して削除指定します。

mysql > show master logs;
mysql > purge master logs to 'mysql-bin.xxxx';  ←最後から3番目くらいにしておきました。
mysql > show master logs;

この時点で/var/lib/mysql/にあったmysql-bin.000xxが消えて容量が増えているはずです。($ df -hで確認出来ます。)

以下はこのログを7日間以上ため込んでおかない設定です。

$ vi /etc/my.cnf で以下が14だったので7に修正
expire_logs_days = 7
mysql > show global variables like ‘expire_logs_days’;
mysql > set global expire_logs_days = 7;
mysql > show global variables like ‘expire_logs_days’;

再起動

# /etc/init.d/mysql restart

確認

# df -h

これで減ってくれました。(vagrant内で)

今回のログ(バイナリログ)を全く出力しなくても良いという場合は以下の記事を参考にしてください。

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

ただ、ホストマシン(Windows)からはBoxファイルの容量認識が相変わらずだったので、この後もう一度以下の圧縮手順をやってみました。

VirtualBox Vagrantの容量の割当増加(拡張)と圧縮手順のまとめ[Windows]
Windows VirtualBox Vagrantの仮想環境で容量が足りなくなってきましたので増やしたいと思います。また、古いファイルは削...

やってみましたが、ホストマシン(Windows)のBox容量は変わりありませんでした。まぁvagrant内さえ圧縮出来れば、実HDDには余裕があるので良いのですが。

スポンサーリンク

参考サイト様

http://www.skyarch.net/blog/?p=1096 ⇒上記手順はこちらのサイト様のものです。そのままで出来ました。

http://nippondanji.blogspot.jp/2010/03/innodb.html ⇒難しそうだったのでやってませんが色々書かれています。

http://qiita.com/tukiyo3/items/028f4051078fdbd8edbd ⇒削除してもやり方が悪かったのか復活してしまい効果が得られませんでした。何かわかれば追記します。