Why a file copy is not enough

A running database holds state in memory and in write-ahead logs. Copying the main file alone captures a moment that never existed on disk, and the damage is only discovered at restore time.

The correct tools

Use what the engine provides:

  • mysqldump or mysqlpump for MySQL
  • pg_dump for PostgreSQL
  • VACUUM INTO for SQLite
  • filesystem snapshots only when the engine is quiesced

Verify by restoring

Restore the dump into a scratch database and run a row count against production. It takes ten minutes and is the only evidence that the backup is real.