dbtrail - すべての行変更を記憶し、巻き戻し可能なMySQL向けタイムマシン
(github.com/dbtrail)- MySQLのバイナリログ(binary log) を tail し、すべての行変更を完全なbefore/after イメージ付きで検索可能なインデックスとして保存
- Lock/スキーマ変更/復元待機なしで特定時点へ巻き戻すpoint-in-time recoveryをサポート
- すべての変更を照会可能: どの行がいつ何に変わったのかを before → after diff で確認
- 精密な Undo: 破損した行だけを選んで正確な逆方向(reversal) SQLを生成
- Cascade delete の復旧:
ON DELETE CASCADEで削除された子行を再構成し、ON DELETE SET NULLで消えた FK を復元- InnoDB が binlog より下の層で取り除くため、ほとんどのツールが検知できない変更まで含む
- Time-travel: Web コンソールまたは
reconstructCLI で任意時点の行・テーブル状態を照会- ライブ SQL
AS OFインターフェースには追加で ProxySQL が必要
- ライブ SQL
- 誰が変更したのか?: 特定の変更がどのデータベースユーザー・ホスト・クライアントプログラムに由来するかを識別(attribute)し、audit plugin の有無に応じて証明可能な範囲を区別
- セーフティネット検証:
bintrail verifyがオフライン/drift なしで復旧が元データを再現するかを検査し、bintrail statusがキャプチャストリームの欠落区間を表示 - Web コンソール: 変更の探索、復旧、監視サーバー追加を UI で処理
- MCP サーバー提供: Claude またはすべての MCP クライアントが履歴を検索し、復旧案の下書きを作成可能
- 対応対象: MySQL, Percona Server for MySQL, Amazon RDS for MySQL, Amazon Aurora MySQL, Google Cloud SQL for MySQL
- レプリケーションプロトコルで接続するため、ディスク上の binlog ファイルは不要
- 要件: MySQL 8.0 以上,
binlog_format=ROW,binlog_row_image=FULL(bintrail doctorが点検後に修正方法を案内) - Apache 2.0 ライセンス (商用/本番環境を含め自由に利用可能)
まだコメントはありません。