web-dev-qa-db-ja.com

MySQLスレーブサーバーが古いリレーbinlogを削除しない

別のホストにスレーブレプリケーションを備えたMySQLサーバーがあります。今日、私はスレーブホストのディスク使用率が高いことに遭遇し、すべてのスペースを占有しているものに侵入しました。結局のところ、このスペースはスレーブリレーログによって占有されています。

expire_logs_days変数がダウンし、MySQLデーモンが再起動しましたが、報告されたディスク領域は同じままです。それ以外のことは本当に見つかりませんでしたFLUSH LOGSは古いログをクリアする必要があります。結果を出さずに試してみました。

リレーログが使用するディスク容量を減らす方法はありますか?

5
Izzy

Expire_logs_days設定は、リレーログではなくバイナリログを制御します。

通常、スレーブがそれらからのデータの適用を終了すると、リレーログは消去されます。これはrelay-log-purgeで変更できますが、デフォルトは1です。

スレーブが単に遅れている場合は、意図的にリレーログを蓄積し続けます。ディスク領域不足の問題を防ぐために、relay-log-space-limitの設定を検討することをお勧めします。この設定は、IOスレッドがリレーログを格納するために使用するディスク容量制限を提供します。

5
Jeremy Tinley