Hemat 15% untuk semua layanan hosting

Uji kemampuanmu dan dapatkan Diskon pada paket hosting apa saja

Gunakan kode: Skills Memulai
Bagian FAQ
Administrasi Linux Server Virtual

Mengimpor dan Mengekspor Database MySQL: Panduan Lengkap

Manajemen database yang efisien adalah tulang punggung dari setiap aplikasi web yang andal. Baik Anda melakukan backup rutin, migrasi data antar server, atau menyiapkan lingkungan baru, mengetahui cara mengimpor dan mengekspor database MySQL adalah keterampilan penting bagi setiap developer dan administrator sistem.

Panduan komprehensif ini membimbing Anda melalui setiap metode, perintah, dan langkah pemecahan masalah yang Anda butuhkan untuk mengelola database MySQL dengan percaya diri — dari baris perintah hingga phpMyAdmin.

Mengapa Operasi Impor dan Ekspor MySQL Penting

Ekspor dan impor database MySQL melayani beberapa tujuan kritis:

  • Backup dan pemulihan bencana — lindungi data Anda dari penghapusan yang tidak disengaja atau kegagalan server
  • Migrasi server — pindahkan database antar lingkungan hosting tanpa kehilangan data
  • Pengembangan dan staging — kloning database produksi untuk tujuan pengujian
  • Kontrol versi — ambil snapshot status database Anda sebelum pembaruan aplikasi utama

Agar operasi ini berjalan lancar, infrastruktur hosting Anda penting. Lingkungan VPS Hosting dengan penyimpanan NVMe, akses root penuh, dan throughput I/O tinggi memastikan bahwa bahkan dump database besar selesai dengan cepat dan andal.

1. Prasyarat: Apa yang Anda Butuhkan Sebelum Memulai

Sebelum menyelam ke ekspor atau impor, konfirmasi Anda memiliki hal berikut:

  • Akses server MySQL dengan privilege pengguna yang cukup (SELECT, LOCK TABLES, SHOW VIEW, TRIGGER untuk ekspor; CREATE, INSERT, ALTER untuk impor)
  • MySQL client terinstal di mesin lokal atau server Anda
  • Terminal atau SSH client untuk operasi baris perintah
  • phpMyAdmin (opsional) jika Anda lebih suka antarmuka grafis
  • Ruang disk yang cukup untuk file dump .sql, terutama untuk database besar

> Pro tip: Jika Anda mengelola beberapa database di berbagai proyek, pertimbangkan VPS dengan cPanel untuk pengalaman manajemen database berbasis GUI yang efisien.

2. Mengekspor Database MySQL

Mengekspor database MySQL menghasilkan file .sql yang berisi skema database lengkap (struktur) dan data. File ini dapat digunakan kemudian untuk memulihkan atau migrasi database Anda.

Metode 1: Menggunakan Baris Perintah MySQL (mysqldump)

Utilitas mysqldump adalah alat paling andal dan banyak digunakan untuk mengekspor database MySQL. Ini bekerja langsung dari terminal dan mendukung berbagai pilihan.

Langkah 1: Buka terminal Anda

Hubungkan ke server Anda melalui SSH atau buka sesi terminal lokal.

Langkah 2: Jalankan perintah mysqldump

mysqldump -u username -p database_name > export_file.sql

Ganti placeholder sebagai berikut:

PlaceholderDeskripsi
usernameNama pengguna MySQL Anda (misalnya, root atau pengguna DB khusus)
database_nameNama database yang ingin Anda ekspor
export_file.sqlNama dan jalur yang diinginkan untuk file output

Langkah 3: Masukkan password MySQL Anda

Anda akan diminta memasukkan password Anda. Ekspor akan dilanjutkan segera setelah autentikasi.

Contoh:

mysqldump -u root -p my_wordpress_db > /home/backups/wordpress_backup_2024.sql

Flag mysqldump yang berguna:

# Export all databases
mysqldump -u root -p --all-databases > all_databases.sql

# Export only the database structure (no data)
mysqldump -u root -p --no-data database_name > structure_only.sql

# Compress the output on the fly
mysqldump -u root -p database_name | gzip > export_file.sql.gz

# Export specific tables only
mysqldump -u root -p database_name table1 table2 > partial_export.sql

Metode 2: Mengekspor melalui phpMyAdmin

phpMyAdmin menyediakan antarmuka grafis yang ramah pengguna untuk ekspor database, ideal bagi mereka yang lebih suka tidak menggunakan baris perintah.

Langkah 1: Masuk ke phpMyAdmin

Buka browser Anda dan arahkan ke instalasi phpMyAdmin Anda (misalnya, https://yourdomain.com/phpmyadmin).

Langkah 2: Pilih database Anda

Di bilah sisi kiri, klik database yang ingin Anda ekspor.

Langkah 3: Navigasi ke tab Ekspor

Klik tab Ekspor di menu navigasi atas.

Langkah 4: Pilih metode ekspor Anda

  • Cepat — Mengekspor seluruh database dengan pengaturan default. Cocok untuk sebagian besar kasus penggunaan.
  • Kustom — Memungkinkan Anda memilih tabel tertentu, format output, kompresi, dan opsi tambahan.

Langkah 5: Pilih format SQL

Pastikan format diatur ke SQL (default). Anda juga dapat memilih CSV, XML, atau format lain tergantung kebutuhan Anda.

Langkah 6: Klik Lanjutkan

phpMyAdmin akan menghasilkan dan mengunduh file .sql ke mesin lokal Anda.

3. Mengimpor Database MySQL

Mengimpor file .sql memulihkan database yang sebelumnya diekspor ke server MySQL. Ini adalah metode standar untuk migrasi, pemulihan, dan deployment.

Metode 1: Menggunakan Baris Perintah MySQL

Langkah 1: Pastikan database target ada

Sebelum mengimpor, database tujuan harus sudah ada. Jika tidak, buatnya:

mysql -u root -p -e "CREATE DATABASE new_database_name;"

Langkah 2: Jalankan perintah impor

mysql -u username -p database_name < import_file.sql

Ganti placeholder:

PlaceholderDeskripsi
usernameNama pengguna MySQL Anda
database_nameDatabase target untuk diimpor
import_file.sqlJalur ke file .sql Anda

Contoh:

mysql -u root -p my_wordpress_db < /home/backups/wordpress_backup_2024.sql

Mengimpor file terkompresi:

gunzip < export_file.sql.gz | mysql -u root -p database_name

Langkah 3: Verifikasi impor

Setelah perintah selesai, masuk ke MySQL dan verifikasi data:

mysql -u root -p
USE database_name;
SHOW TABLES;

Metode 2: Mengimpor melalui phpMyAdmin

Langkah 1: Masuk ke phpMyAdmin

Buka phpMyAdmin di browser Anda.

Langkah 2: Pilih atau buat database target

  • Jika database sudah ada, klik di bilah sisi kiri.
  • Jika tidak, klik Database di menu atas, masukkan nama database baru, dan klik Buat.

Langkah 3: Navigasi ke tab Impor

Klik tab Impor di menu navigasi atas.

Langkah 4: Pilih file Anda

Klik Pilih File dan pilih file .sql dari mesin lokal Anda.

Langkah 5: Konfigurasi pengaturan impor

  • Set karakter: Pastikan cocok dengan encoding database Anda (biasanya utf8mb4)
  • Impor parsial: Berguna untuk melanjutkan impor yang terputus
  • Format: Harus diatur ke SQL secara otomatis

Langkah 6: Klik Lanjutkan

phpMyAdmin akan memulai proses impor. Tunggu pesan konfirmasi kesuksesan hijau sebelum menutup tab.

> Catatan: phpMyAdmin memiliki batas ukuran file upload default (biasanya 2MB–128MB). Untuk database yang lebih besar, gunakan metode baris perintah atau sesuaikan pengaturan PHP seperti dijelaskan di bagian pemecahan masalah di bawah.

4. Teknik Ekspor dan Impor Lanjutan

Mengotomatisasi Backup MySQL dengan Cron Jobs

Untuk lingkungan produksi, ekspor manual tidak cukup. Otomatisasi backup database Anda menggunakan cron job:

# Open the crontab editor
crontab -e

# Add this line to run a daily backup at 2:00 AM
0 2 * * * mysqldump -u root -pYourPassword database_name | gzip > /backups/db_$(date +%F).sql.gz

Ini memastikan Anda selalu memiliki backup terbaru tanpa intervensi manual.

Migrasi Database Antar Server

Untuk migrasi database langsung dari satu server ke server lain tanpa membuat file perantara:

mysqldump -u root -p database_name | ssh user@remote_server "mysql -u root -p remote_database"

Ini menyalurkan output dump langsung melalui SSH ke instans MySQL jarak jauh — efisien dan cepat di lingkungan VPS Hosting dengan bandwidth tinggi.

Menangani Database Besar

Untuk database yang melebihi beberapa gigabyte, pertimbangkan optimasi ini:

# Use single-transaction for InnoDB tables (avoids table locks)
mysqldump --single-transaction -u root -p database_name > export.sql

# Disable foreign key checks during import for speed
mysql -u root -p database_name -e "SET foreign_key_checks = 0;"
mysql -u root -p database_name < import_file.sql
mysql -u root -p database_name -e "SET foreign_key_checks = 1;"

5. Pemecahan Masalah Kesalahan Impor/Ekspor MySQL Umum

Kesalahan 1049: Database Tidak Dikenal

ERROR 1049 (42000): Unknown database 'database_name'

Penyebab: Database target tidak ada.

Solusi: Buat database sebelum mengimpor:

mysql -u root -p -e "CREATE DATABASE database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"

Kesalahan 2002: Tidak Dapat Terhubung ke Server MySQL

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'

Penyebab: Layanan MySQL tidak berjalan atau jalur socket salah.

Solusi: Periksa dan mulai ulang layanan MySQL:

# Check MySQL status
sudo systemctl status mysql

# Start MySQL if it's stopped
sudo systemctl start mysql

# For MariaDB
sudo systemctl start mariadb

Kesalahan 1044: Akses Ditolak

ERROR 1044 (42000): Access denied for user 'username'@'localhost' to database 'database_name'

Penyebab: Pengguna MySQL tidak memiliki privilege yang cukup.

Solusi: Berikan izin yang diperlukan:

mysql -u root -p
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost';
FLUSH PRIVILEGES;

Batas Ukuran File phpMyAdmin Terlampaui

Penyebab: File .sql melebihi batas upload phpMyAdmin.

Solusi: Edit file konfigurasi PHP Anda (php.ini):

upload_max_filesize = 256M
post_max_size = 256M
max_execution_time = 600
memory_limit = 512M

Setelah menyimpan, mulai ulang server web Anda:

sudo systemctl restart apache2
# or
sudo systemctl restart nginx

Atau, beralih ke metode impor baris perintah, yang tidak memiliki batasan ukuran file.

Impor Berhenti di Tengah Jalan (Timeout)

Penyebab: Impor besar melebihi batas timeout PHP atau MySQL.

Solusi: Gunakan baris perintah untuk file besar, atau tingkatkan timeout MySQL:

SET GLOBAL wait_timeout = 28800;
SET GLOBAL interactive_timeout = 28800;

6. Praktik Terbaik Keamanan untuk Ekspor dan Impor MySQL

Melindungi dump database Anda sama pentingnya dengan membuatnya. Ikuti praktik terbaik ini:

  • Enkripsi dump sensitif — Gunakan GPG untuk mengenkripsi file yang diekspor sebelum menyimpan atau mentransfernya:
  gpg --symmetric --cipher-algo AES256 export_file.sql
  • Batasi izin file — Pastikan file dump tidak dapat dibaca oleh semua orang:
  chmod 600 export_file.sql
  • Gunakan pengguna MySQL khusus — Hindari menggunakan root untuk ekspor rutin. Buat pengguna backup dengan privilege minimal yang diperlukan.
  • Simpan backup di luar server — Unggah dump ke lokasi jarak jauh atau penyimpanan objek untuk melindungi dari kegagalan tingkat server.
  • Amankan koneksi Anda — Selalu gunakan SSL/TLS untuk koneksi MySQL jarak jauh. Pasangkan ini dengan Sertifikat SSL yang valid untuk melindungi data dalam transit.

7. Memilih Lingkungan Hosting yang Tepat untuk Operasi MySQL

Kinerja operasi impor dan ekspor MySQL Anda sangat bergantung pada infrastruktur hosting Anda. Berikut cara berbagai lingkungan dibandingkan:

Jenis HostingTerbaik UntukKinerja MySQL
Shared Web HostingSitus kecil, lalu lintas rendahTerbatas; sumber daya bersama
VPS HostingSebagian besar aplikasi web, developerSangat
Administrasi
Linux Server Virtual
Linux Sistem Operasi