データベースレプリケーションログのパージ
MySQL データベースのバイナリログは時間の経過とともに蓄積し、大量のディスク容量を消費することがあります。デフォルトでは、これらのログは 3 日ごとに自動的にパージ されるよう設定されています。ただし、容量を解放するために手動でパージする必要がある場合は、次の手順に従ってください。
1. データベースのバックアップを手動で作成する
Section titled “1. データベースのバックアップを手動で作成する”まず、問題が発生した場合に備えて復元ポイントを確保するため、データベースのバックアップを作成します。
porta-onprem-bundle\porta-helpers\porta-database\actionディレクトリに移動します。- Porta バージョン 2.3.115 以降では、代わりに
porta-onprem-bundle\porta-helpers\porta-database\actions\create-backup.batになります。
- Porta バージョン 2.3.115 以降では、代わりに
create-backup.batスクリプトをダブルクリックして実行します。
2. 障害に備えてバックアップをホストマシンにエクスポートする
Section titled “2. 障害に備えてバックアップをホストマシンにエクスポートする”porta コンテナからホストマシンにファイルをコピーします。これにより、WSL 環境の外にバックアップのローカルコピーを確保できます。
- PowerShell を開きます。
- 次のコマンドを実行し、以下を置き換えます。
filename.zip: ステップ 1 で作成したバックアップの名前にD:\destination\path: バックアップを保存したい場所に
Terminal window docker cp porta:/var/www/storage/app/Porta-Backups/filename.zip D:\destination\path
3. MySQL バイナリログをパージする
Section titled “3. MySQL バイナリログをパージする”3a. マシン上でレプリケーションを停止する
Section titled “3a. マシン上でレプリケーションを停止する”porta-onprem-bundle\porta-helpers\porta-database\actionディレクトリに移動します。- Porta バージョン 2.3.115 以降では、これは代わりに
porta-onprem-bundle\porta-helpers\porta-database\actionsになります。
- Porta バージョン 2.3.115 以降では、これは代わりに
STOP-repl.batスクリプトをダブルクリックして実行します。
3b. 3 日以上前に作成された MySQL バイナリログを手動でパージする
Section titled “3b. 3 日以上前に作成された MySQL バイナリログを手動でパージする”porta-onprem-bundle\porta-helpers\porta-runディレクトリに移動します。- Porta バージョン 2.3.115 以降では、これは代わりに
porta-onprem-bundle\porta-helpers\porta-run\sysadmin\CLIになります。
- Porta バージョン 2.3.115 以降では、これは代わりに
access-mysql.batスクリプトをダブルクリックして実行し、MySQL シェルにアクセスします。- MySQL シェルで、次のコマンドを実行して 3 日より古いログを削除します。
- コマンド内の日付を 3 日前に編集 し、3 日以上前の すべてのログが含まれるようにすることを忘れないでください。
-
SET sql_log_bin=OFF;PURGE BINARY LOGS BEFORE '2025-12-05 00:00:00';SET sql_log_bin=ON;
4. binlog の有効期限を短縮する
Section titled “4. binlog の有効期限を短縮する”porta-onprem-bundle\porta-helpers\porta-runディレクトリに移動します。- Porta バージョン 2.3.115 以降では、これは代わりに
porta-onprem-bundle\porta-helpers\porta-run\sysadmin\CLIになります。
- Porta バージョン 2.3.115 以降では、これは代わりに
access-mysql.batスクリプトをダブルクリックして実行し、MySQL シェルにアクセスします。- MySQL シェルで
SET PERSIST binlog_expire_logs_seconds=259200;コマンドを実行します。
5. マシン上でレプリケーションを開始する
Section titled “5. マシン上でレプリケーションを開始する”porta-onprem-bundle\porta-helpers\porta-database\actionディレクトリに移動します。- Porta バージョン 2.3.115 以降では、これは代わりに
porta-onprem-bundle\porta-helpers\porta-database\actionsになります。
- Porta バージョン 2.3.115 以降では、これは代わりに
START-repl.batスクリプトをダブルクリックして実行します。