第20回: バックアップとリストアの基本 — 「バックアップがある」では足りない

章: 第4章: データ整合性と運用

バックアップを取っていても、復元できなければ意味がない——確認していますか?

「定期バックアップは設定してある」——それだけで安心していませんか?バックアップは取得するだけでなく、実際に復元できることを事前に確認しておかなければ、いざという場面で役に立ちません。この回では mysqldump を使ったバックアップと復元の基本手順を整理します。

バックアップで見落とされやすいポイント

バックアップ運用でよくある失敗は「取得だけして復元テストをしていない」ことです。ファイルが壊れていた、文字コードが違った、リストア先のバージョンが合わなかった——こうした問題は、障害発生後に初めて気づいては手遅れです。

本番運用前に一度、バックアップファイルからの復元を完全に通しておくことが、最低限必要な検証です。

バックアップ方式と特性の比較

方式 ツール 用途 注意点
論理バックアップ mysqldump 小〜中規模DB、可搬性が高い 大容量では時間がかかる
物理バックアップ mysqlbackup, xtrabackup 大規模DB・高速復元 ツールのセットアップが必要
バイナリログ binlog ポイントインタイムリカバリ mysqldump と併用
クラウドスナップショット RDS等のスナップショット機能 マネージドサービス 自動化が容易

チェックポイント: バックアップを設定したら、必ずリストアテストを実施しましょう。本番と同じ条件の検証環境にリストアして、アプリが正常に動作するところまで確認してから「バックアップが機能している」と言えます。定期的にリストアテストをスケジューリングしておくことをおすすめします。

コードサンプル


# バックアップ
mysqldump -u root -p blog_app > blog_app_20260407.sql

# リストア
mysql -u root -p blog_app < blog_app_20260407.sql

まとめ & 次のステップ

  • バックアップは「取得」だけでなく「復元できること」の確認がセットです
  • mysqldump は小〜中規模DBの論理バックアップに手軽に使えます
  • リストア後はアプリが正常動作するところまで検証して初めて完了です
  • バイナリログを有効にするとポイントインタイムリカバリが可能になります
  • バックアップとリストアの手順を運用ドキュメントに残し、チームで共有しておきましょう

次回は 第5章 へ進みます。さらに実践的なMySQL運用の知識を積み上げていきましょう。

Related Articles