The export starts fine, runs for a few minutes, then quietly dies — and the file it leaves behind looks almost real. Timeouts are the number one reason bulk database downloads fail, and they have a proper fix.
If a database export keeps timing out, the problem is rarely the database. It is where the export is running. Browser-based exports live under strict time limits; server-side exports do not. Here is how to recognise the failure and route around it for good.
phpMyAdmin and panel export tools run as PHP scripts. Hosting servers kill PHP scripts after a fixed time — commonly 30 to 300 seconds — and cap their memory. A big database simply needs longer than the limit allows. Raising the limit is sometimes possible on a VPS; on shared hosting it usually is not yours to change.
This removes the limit instead of fighting it. Over SSH:
mysqldump -u dbuser -p --single-transaction --quick mydatabase | gzip > mydatabase.sql.gz--single-transaction keeps the copy consistent on InnoDB without locking your live website, and --quick prevents memory build-up by streaming rows.
No SSH? Export a few tables at a time in phpMyAdmin — the big tables (orders, logs, posts) one per file, the small ones grouped. Each piece finishes inside the time limit, and the set together is the whole database. Label the files clearly (db-part1-tables-a-m.sql style) so the restore order is obvious later.
Some tables are bulk without value: log tables, session tables, cache and statistics tables can hold most of the rows. If your migration does not need them, exclude them — mysqldump supports --ignore-table=db.table per table. Only skip tables you have identified and understood; guessing here can quietly break the restored site.
Check the last lines of every exported file. A complete mysqldump file ends with a Dump completed comment line. No completion line means no backup — whatever the file size suggests. For the full verification routine, see the verification page in this set.
The full bulk database download process — live demo, every step on screen.
▶️ Watch Full VideoNot necessarily. A timed-out export can still be hundreds of megabytes — it is just missing its last tables. Only the Dump completed line at the end of the file proves the export finished.
It is designed not to. For InnoDB tables it takes a consistent snapshot without locking tables for writes, so visitors keep using the site while the export runs.
On a VPS or dedicated server, yes — it is a PHP setting. On shared hosting it is normally fixed by the host; the realistic options are splitting the export or asking the host to run it.