Technical Anshu
Tutorials Blog
🗄️ Backup Verification

Verify Your Database Backup Before You Trust It

The worst day to discover a broken backup is the day you need it. Verification takes five minutes at download time and turns a hopeful file into a proven one.

✍️ Technical Anshu🗄️ MySQL / MariaDB⏱️ Backup Guide
🎥 Watch the full process in the video — bulk database download, step by step

Exports get cut by timeouts, downloads stop at 97 percent, disks fill mid-write. Every one of those failures leaves behind a file that looks like a backup. These are the checks that separate a real one from a convincing fake — do them while the original site is still healthy.

Terminal — the last line tells the truth
$ tail -n 3 all-databases.sql -- -- Dump completed on 2026-10-24 21:47:03 Present = the export ran to the end. Missing = start again.
The Dump completed line is written only when mysqldump finishes every table. Example output shown is illustrative.
1

Check One — The Completion Line

Open the end of the file (or run tail on it). A finished mysqldump ends with a -- Dump completed line including the date. A phpMyAdmin export ends after the last table's statements with its own closing comments. If the file stops mid-INSERT, it is incomplete — delete it and export again by a route that finishes.

2

Check Two — Size and Shape Sanity

You roughly know your sites. A shop doing daily orders should not produce a 40 KB database. Compare the new file with the previous backup's size — a sudden collapse to a fraction of the usual size is a warning even when the completion line is present. Also confirm the file contains your important tables: search it for a table name like orders or wp_posts.

3

Check Three — The Test Import ⭐

The only complete proof: the data comes back.

  1. Create a throwaway database, e.g. restore_test.
  2. Import: gunzip < backup.sql.gz | mysql -u user -p restore_test
  3. Open it and confirm the tables exist and a big table's row count is plausible (SELECT COUNT(*) FROM orders;).
  4. Delete the test database when you are done.

Do this on a local stack or a spare database — never test-import over your live database.

4

Keep the Habit, Not Just the File

Verification is worth most as a routine: every scheduled backup gets at least the completion-line check automatically, and a test import once in a while. The scheduling page in this set shows how to build that routine. Five quiet minutes now beats a lost website later.

🛡️ Your own websites only. Every method on this page is for databases of websites you own, or websites you administer with the owner's clear permission — backups, migrations and testing. A database holds your users' private data; downloading one you have no right to is theft, whatever tool makes it easy.

🎥 Watch the Complete Video

The full bulk database download process — live demo, every step on screen.

▶️ Watch Full Video
❓ Common Questions (FAQ)

The file has a Dump completed line. Is that enough?

It proves the export finished, which is the most common failure covered. For real confidence add the test import — it also proves the file survived download and storage without corruption.

How often should I test-import a backup?

At least once when you set up a new backup routine, and after any change to how backups are made. A quick completion-line check belongs with every single backup.

Can I verify a phpMyAdmin export the same way?

Yes — check the file ends cleanly after the last table rather than mid-statement, sanity-check its size, and test-import it. phpMyAdmin files need the same proof as any other dump.

This guide is based on the Technical Anshu video on downloading website databases in bulk • Stuck on a step? Ask in the video comments 🙏