Uji kemampuan Anda di semua layanan Hosting kami dan dapatkan diskon 15%!

Gunakan kode saat checkout:

Skills
20.06.2025

Panduan utama tentang mysqldump – Program pencadangan basis data

mysqldump adalah utilitas baris perintah yang disediakan oleh MySQL yang memungkinkan Anda untuk membuat cadangan logis database MySQL. Alat ini banyak digunakan untuk membuat cadangan basis data, mengekspor basis data ke server lain, dan memigrasikan basis data di antara versi MySQL atau sistem yang berbeda. Ini adalah cara yang sederhana, kuat, dan fleksibel untuk mencadangkan dan memulihkan basis data, menjadikannya alat yang sangat penting bagi administrator basis data mana pun.

Panduan utama ini mencakup semua yang perlu Anda ketahui tentang mysqldump, termasuk instalasi, sintaks, contoh penggunaan, dan praktik terbaik.

Apa itu mysqldump?

  • mysqldump membuat cadangan logis dari basis data MySQL, yang berarti mengeluarkan data dan struktur dalam bentuk perintah SQL.
  • Perintah-perintah SQL ini kemudian dapat digunakan untuk membuat ulang basis data, menjadikan mysqldump ideal untuk pencadangan, migrasi, dan transfer data.
  • Ini mendukung ekspor seluruh basis data, tabel individual, atau data tertentu dengan berbagai opsi untuk penyesuaian.

Sintaks Dasar mysqldump

Sintaks dasar dari perintah mysqldump adalah:

mysqldump [OPSI] nama_database [tabel] > backup_file.sql
  • [OPTIONS]: Flag opsional yang memodifikasi perilaku mysqldump (misalnya, menentukan pengguna, kata sandi, host, dll.).
  • database_name: Nama basis data yang ingin Anda cadangkan.
  • [tables](Opsional) Tabel tertentu untuk dicadangkan. Jika tidak ada, seluruh basis data akan dicadangkan.
  • > backup_file.sql: Mengarahkan output ke file (backup_file.sql), yang akan berisi perintah SQL untuk membuat ulang database.

Prasyarat

  • MySQL atau MariaDB terinstal pada server atau klien.
  • Akun pengguna dengan hak istimewa yang memadai (izin SELECT dan LOCK) pada basis data yang akan dicadangkan.
  • Akses ke baris perintah (terminal) pada Linux/macOS atau command prompt pada Windows.

Opsi yang Umum Digunakan dengan mysqldump

  • -u atau –user: Menentukan nama pengguna MySQL.
  • -p atau –password: Meminta kata sandi pengguna.
  • -h atau –host: Menentukan host (misal, localhost atau alamat IP).
  • -P atau –port: Menentukan nomor port untuk server MySQL.
  • –databases: Memungkinkan Anda mencadangkan beberapa basis data.
  • –semua-database: Mencadangkan semua basis data di server.
  • –no-data: Mengekspor hanya struktur basis data (tanpa data).
  • –transaksi-tunggal: Mengambil snapshot yang konsisten dari basis data, berguna untuk tabel InnoDB.
  • –add-drop-table: Menambahkan pernyataan DROP TABLE sebelum pernyataan CREATE TABLE, memastikan bahwa tabel-tabel dihapus dan dibuat ulang saat pemulihan.
  • –routines: Menyertakan prosedur dan fungsi yang tersimpan dalam pencadangan.
  • –pemicu: Termasuk pemicu dalam cadangan.
  • –compress: Mengompresi data yang dikirim antara klien dan server MySQL jika didukung.

Contoh Dasar

Contoh 1: Mencadangkan Basis Data Tunggal

mysqldump -u root -p nama_database > backup_file.sql
  • Meminta kata sandi pengguna root.
  • Membuang isi database_name ke dalam backup_file.sql.

Contoh 2: Mencadangkan Beberapa Basis Data

mysqldump -u root -p –database database1 database2 > multiple_databases_backup.sql
  • Gunakan opsi –databases diikuti dengan nama-nama database.
  • Membuang database1 dan database2 ke dalam multiple_databases_backup.sql.

Contoh 3: Mencadangkan Semua Basis Data

mysqldump -u root -p –all-database > all_databases_backup.sql
  • Mencadangkan semua basis data pada server MySQL.
  • Termasuk pernyataan CREATE DATABASE dan USE, sehingga mudah untuk memulihkan semua database.

Contoh 4: Mencadangkan Tabel Tertentu

mysqldump -u root -p nama_database nama_tabel > table_backup.sql
  • Membuang struktur dan data tabel tertentu (nama_tabel) dari nama_database ke dalam table_backup.sql.

Contoh 5: Mencadangkan Hanya Struktur Basis Data

mysqldump -u root -p –no-data nama_database > struktur_database.sql
  • Opsi –no-data mengecualikan data dan hanya mengekspor struktur tabel.

Contoh Lanjutan

Contoh 6: Menggunakan –transaksi-tunggal untuk Basis Data Besar

mysqldump -u root -p –single-transaction nama_database > large_backup.sql
  • Opsi –single-transaction ideal untuk tabel InnoDB dan memastikan pencadangan yang konsisten tanpa mengunci tabel.
  • Direkomendasikan untuk database besar karena meminimalkan waktu penguncian tabel.

Contoh 7: Cadangan Terkompresi

mysqldump -u root -p nama_database | gzip > backup_file.sql.gz
  • Menggunakan gzip untuk mengompresi output mysqldump dengan cepat.
  • Menghasilkan file cadangan yang lebih kecil (backup_file.sql.gz), menghemat ruang disk.

Contoh 8: Menyertakan Prosedur, Fungsi, dan Pemicu yang Tersimpan

mysqldump -u root -p –routines –triggers nama_database > full_backup.sql
  • Opsi –routines mencakup prosedur dan fungsi yang tersimpan.
  • Opsi –triggers menyertakan pemicu dalam pencadangan.

Contoh 9: Mengecualikan Tabel Tertentu

mysqldump -u root -p nama_database –ignore-table = nama_database.table_to_ignore > backup.sql
  • Opsi –ignore-table mengecualikan tabel tertentu dari cadangan.
  • Anda dapat mengulangi opsi ini untuk setiap tabel yang ingin Anda kecualikan.

Memulihkan Cadangan mysqldump

Untuk memulihkan cadangan yang dibuat dengan mysqldump, Anda menggunakan perintah mysql:

Contoh 10: Memulihkan satu basis data

mysql -u root -p nama_database < backup_file.sql
  • Meminta kata sandi root.
  • Memulihkan basis data dari backup_file.sql.

Contoh 11: Memulihkan Beberapa Basis Data atau Semua Basis Data

mysql -u root -p < all_databases_backup.sql
  • Perintah ini dapat digunakan untuk memulihkan beberapa basis data atau semua basis data jika all_databases_backup.sql dibuat dengan menggunakan opsi –databases atau –all-databases.

Contoh 12: Memulihkan dari Cadangan Terkompresi

gunzip < backup_file.sql.gz | mysql -u root -p nama_database
  • Menggunakan gunzip untuk mendekompresi berkas cadangan dengan cepat dan menyalurkan hasilnya ke perintah mysql.

Praktik Terbaik untuk Menggunakan mysqldump

  1. Gunakan –single-transaction untuk InnoDB:
    • Opsi ini memastikan pencadangan yang konsisten tanpa mengunci tabel basis data, yang sangat penting untuk basis data yang besar.
  2. Jadwalkan Pencadangan Rutin:
    • Gunakan pekerjaan cron di Linux untuk mengotomatiskan proses pencadangan. Misalnya, buat pekerjaan pencadangan harian:
      0 2 * * mysqldump -u root -p Kata Sandi Anda nama_database > /path/to/backup/nama_database_$(tanggal \%F).sql
    • Pekerjaan ini membuat cadangan setiap hari pada pukul 2 pagi.
  3. Menyimpan Cadangan di luar lokasi:
    • Simpan cadangan di server atau penyimpanan awan yang berbeda seperti AWS S3 atau Google Drive untuk memastikan pemulihan data jika terjadi kegagalan perangkat keras.
  4. Verifikasi Cadangan:
    • Verifikasi secara berkala bahwa cadangan Anda dapat dipulihkan dengan benar dengan mengujinya di lingkungan terpisah.
  5. Gunakan Kompresi untuk Basis Data Besar:
    • Gunakan gzip atau bzip2 untuk mengompresi file cadangan dan menghemat ruang disk.
  6. Pertimbangan Keamanan:
    • Hindari menentukan kata sandi secara langsung pada baris perintah, karena dapat terlihat oleh pengguna lain. Sebagai gantinya, gunakan file konfigurasi atau prompt untuk kata sandi.
    • Lindungi file cadangan dengan izin file yang sesuai untuk mencegah akses yang tidak sah.

Kesimpulan

mysqldump adalah alat serbaguna dan tangguh untuk mengelola pencadangan pada basis data MySQL. Dengan memahami sintaks dan opsi-opsinya, Anda bisa membuat pencadangan yang disesuaikan dengan kebutuhan spesifik Anda, baik ketika Anda berurusan dengan basis data yang besar, memigrasi data, atau menyiapkan pencadangan otomatis. Ikuti praktik terbaik untuk memastikan bahwa data Anda selalu aman, terlindungi, dan dapat dipulihkan saat dibutuhkan.

Uji kemampuan Anda di semua layanan Hosting kami dan dapatkan diskon 15%!

Gunakan kode saat checkout:

Skills