Dump adalah berkas teks berisi pernyataan SQL. Bisa tidaknya ia dipulihkan bergantung pada cara penulisannya, dan nilai bawaannya bukan nilai yang tepat untuk situs yang sedang berjalan. Sebagian besar kegagalan impor sudah ditentukan berminggu-minggu sebelumnya, saat dump itu diambil.
Perintahnya
mysqldump \
--single-transaction \
--quick \
--routines --triggers --events \
--default-character-set=utf8mb4 \
--set-gtid-purged=OFF \
dbname | gzip > db-$(date +\%F).sql.gz
Apa yang dicegah masing-masing
- --single-transaction — citra yang runut tanpa mengunci tabel. Tanpa itu, situs yang ramai membeku selama dump berlangsung.
- --quick — mengalirkan baris demi baris alih-alih menjejalkan tabel besar ke memori.
- --routines --triggers --events — tidak disertakan secara bawaan. Pemulihan tanpa keduanya tampak lengkap dan diam-diam kehilangan setiap prosedur tersimpan dan setiap peristiwa terjadwal.
- --default-character-set=utf8mb4 — huruf Arab dan emoji selamat dalam perjalanan pulang pergi itu.
--single-transaction hanya runut untuk InnoDB. Tabel MyISAM di basis data yang sama akan di-dump tanpa jaminan itu, jadi ubahlah tabelnya atau terimalah salinan yang tidak runut untuk tabel-tabel tersebut.
Periksa berkasnya, bukan kode keluarnya
gzip -t db-2026-09-05.sql.gz # the archive is intact
zcat db-2026-09-05.sql.gz | tail -5 # ends with "Dump completed"
zcat db-2026-09-05.sql.gz | grep -c "CREATE TABLE"
Dump yang terpotong karena cakram penuh tetap merupakan gzip yang sah di sebagian besar panjangnya. Baris penutup di ujungnya adalah bukti bahwa mysqldump sampai ke akhir — dan memeriksanya hanya butuh satu perintah.
Pulihkan di tempat lain, secara terjadwal
mysql -e "CREATE DATABASE restore_test CHARACTER SET utf8mb4"
zcat db-2026-09-05.sql.gz | mysql restore_test
mysql restore_test -e "SELECT COUNT(*) FROM orders"
Bandingkan jumlah baris itu dengan yang di produksi. Dump yang terimpor tanpa galat namun tiba dengan setengah barisnya adalah kegagalan yang tak tertangkap siapa pun, sebab impornya sama sekali tidak berkata apa-apa.
