Ketika memindahkan website ke hosting baru, salah satu tantangan yang sering muncul adalah mengimpor file database MySQL berukuran besar. Misalnya, file hasil ekspor (.sql) bisa mencapai puluhan hingga ratusan MB. Sayangnya, banyak shared hosting membatasi ukuran upload dan tidak menyediakan akses terminal (SSH), sehingga kita tidak bisa langsung menjalankan perintah mysql < backup.sql.
Lalu, bagaimana cara mengatasinya? Berikut beberapa solusi yang bisa dicoba.
1. Kompres File SQL
Sebelum mencoba cara lain, cobalah untuk mengompres file .sql menjadi .sql.gz.
- phpMyAdmin biasanya mendukung import file
.gz. - File SQL sebesar 80 MB bisa menyusut menjadi 10–20 MB setelah dikompres.
- Dengan begitu, file lebih ringan dan bisa lolos batas upload hosting.
2. Split File SQL Menjadi Bagian Kecil
Jika masih terlalu besar, pecah file SQL menjadi beberapa bagian kecil.
- Gunakan tool seperti SQLDumpSplitter (Windows) atau perintah
splitdi Linux/macOS:split -b 10m backup.sql part_ - Pastikan hasil pecahan tetap utuh per-query (gunakan tool khusus, bukan sekadar split byte).
- Import file satu per satu lewat phpMyAdmin atau script tambahan.
3. Ekspor Per Table dari Server Lama
Jika masih bisa mengakses server lama:
- Jangan ekspor database penuh dalam satu file besar.
- Lakukan ekspor per table atau per kelompok table kecil.
- Hasilnya lebih mudah di-import bertahap ke hosting baru.
4. Gunakan Script BigDump
BigDump adalah script PHP sederhana untuk mengimpor database besar secara bertahap (chunked).
- Upload
bigdump.phpke hosting bersama file.sql. - Jalankan lewat browser.
- Script ini akan membaca file SQL sedikit demi sedikit sehingga tidak timeout.
- Namun, beberapa hosting membatasi maksimal 10 MB per file. Kalau begitu, tetap perlu split file SQL dulu sebelum dipakai dengan BigDump.
5. Import dari Folder tmp (Jika Hosting Mendukung)
Beberapa panel hosting (cPanel/Plesk) menyediakan opsi “Import from server file” di phpMyAdmin.
- Upload file SQL ke folder
tmpdi akun hosting. - Jalankan import langsung dari file tersebut, tanpa batasan upload browser.
6. Gunakan Remote MySQL (Opsional)
Jika hosting mengizinkan koneksi remote MySQL, maka lebih mudah:
- Whitelist IP komputer lokal.
- Gunakan MySQL client di laptop:
mysql -h host -u user -p dbname < backup.sql - Cara ini lebih cepat dan tidak terkena limit PHP.
Kesimpulan
Jika tidak ada akses terminal, solusi paling praktis adalah:
- Kompres file SQL menjadi
.gz. - Jika masih besar, split file menjadi <10 MB lalu import bertahap dengan phpMyAdmin atau BigDump.
- Kalau masih ada akses ke server lama, lebih aman ekspor per table sejak awal.
Dengan trik di atas, proses migrasi database berukuran besar tetap bisa dilakukan meskipun hanya mengandalkan phpMyAdmin dan tanpa bantuan tim teknis hosting.
