1. Pendahuluan
MySQL adalah sistem manajemen basis data yang digunakan oleh banyak situs web dan aplikasi. Di antara alat-alatnya, perintah “mysqldump” sangat penting saat melakukan pencadangan atau migrasi basis data. Khususnya, ketika Anda ingin mencadangkan hanya tabel-tabel tertentu dari basis data yang besar, perintah ini menjadi sangat berguna.
Dalam artikel ini, kami akan menjelaskan secara mendetail cara melakukan dump tabel tertentu menggunakan perintah mysqldump. Panduan ini dirancang agar mudah dipahami bagi pemula, sekaligus memperkenalkan opsi tingkat menengah dan teknik penggunaan lanjutan.
2. Sintaks Dasar Perintah mysqldump
Pertama, mari tinjau penggunaan dasar perintah mysqldump. Perintah ini digunakan untuk melakukan dump (pencadangan) struktur dan data seluruh basis data atau tabel tertentu.
Sintaks Dasar
Dengan menentukan nama pengguna, kata sandi, nama basis data, dan nama tabel seperti yang ditunjukkan di bawah, Anda dapat mencadangkan tabel tertentu.
mysqldump -u username -p database_name table_name > output_file.sql
-u: Menentukan nama pengguna yang digunakan untuk mengakses basis data-p: Menentukan kata sandi (Anda akan diminta untuk memasukkannya)database_name: Nama basis data yang akan di-dumptable_name: Tabel spesifik yang akan di-dump> output_file.sql: Menentukan file output
Opsi yang Sering Digunakan
--single-transaction: Menjamin konsistensi transaksi saat mencadangkan tabel InnoDB--skip-lock-tables: Menghindari penguncian tabel selama pencadangan

3. Cara Dump Tabel Tertentu
Dump Satu Tabel
Untuk mencadangkan hanya satu tabel tertentu, tentukan nama tabel setelah nama basis data. Pada contoh berikut, hanya tabel users yang di-dump.
mysqldump -u root -p my_database users > users_dump.sql
Perintah ini menyimpan struktur dan data tabel users dalam basis data my_database ke file users_dump.sql.
Dump Beberapa Tabel
Jika Anda ingin mencadangkan beberapa tabel sekaligus, tentukan nama-nama tabel dipisahkan dengan spasi.
mysqldump -u root -p my_database users orders products > multiple_tables_dump.sql
Pada contoh di atas, tiga tabel users, orders, dan products di-dump secara bersamaan.
Dump Menggunakan Daftar Tabel
Saat melakukan dump sejumlah besar tabel, menentukan setiap nama tabel secara manual dapat merepotkan. Dalam kasus seperti itu, Anda dapat menggunakan perintah SHOW TABLES atau skrip untuk secara otomatis menghasilkan daftar tabel yang akan di-dump.
mysql -u root -p my_database -N -e "SHOW TABLES LIKE 'hoge%'" > table_list.txt
mysqldump -u root -p my_database `cat table_list.txt` > partial_dump.sql
Metode ini memungkinkan Anda mencadangkan secara efisien hanya tabel-tabel yang cocok dengan pola tertentu.
4. Opsi dan Penggunaan Lanjutan
mysqldump menyediakan berbagai opsi yang memungkinkan Anda membuat cadangan secara fleksibel sesuai kebutuhan. Berikut beberapa opsi untuk skenario tertentu.
Dump Hanya Struktur
Jika Anda tidak memerlukan data dan ingin mencadangkan hanya struktur tabel, gunakan opsi --no-data.
mysqldump -u root -p my_database --no-data users > users_structure.sql
Perintah ini hanya melakukan dump struktur tabel users dan tidak menyertakan data apa pun.
Dump Hanya Data
Sebaliknya, jika Anda ingin melakukan dump hanya data tabel, gunakan opsi --no-create-info.
mysqldump -u root -p my_database --no-create-info users > users_data.sql
Perintah ini mengecualikan struktur tabel dan hanya melakukan dump data.
Dump Data Berdasarkan Kondisi Tertentu
Dengan menggunakan opsi --where, Anda dapat melakukan dump hanya data yang memenuhi kondisi tertentu. Misalnya, untuk dump hanya baris di mana id lebih besar dari 100, gunakan perintah berikut:
mysqldump -u root -p my_database users --where="id > 100" > users_filtered_dump.sql
Ini memungkinkan Anda mengekstrak dan mencadangkan hanya data yang diperlukan dari basis data yang besar.

5. Contoh Penggunaan Praktis
Contoh Penggunaan 1: Mencadangkan Satu Tabel
Sebagai contoh, jika Anda ingin mencadangkan hanya tabel salary dalam basis data employees, gunakan perintah berikut:
mysqldump -u root -p employees salary > salary_dump.sql
Contoh Penggunaan 2: Mencadangkan Data dengan Kondisi
Untuk mengekspor hanya rentang data tertentu, gunakan opsi --where. Sebagai contoh, untuk mencadangkan hanya baris di mana id pada tabel users lebih besar dari 100:
mysqldump -u root -p my_database users --where="id > 100" > users_partial_dump.sql
6. Catatan Penting dan Praktik Terbaik
Masalah Penguncian Tabel
Saat menggunakan mysqldump, tabel dapat terkunci, sehingga operasi lain tidak dapat dilakukan. Hal ini dapat menjadi masalah khususnya pada sistem produksi. Untuk menghindari masalah ini, disarankan menggunakan opsi --single-transaction. Untuk tabel InnoDB, menggabungkannya dengan opsi --skip-lock-tables semakin meningkatkan keamanan.
Menangani Volume Data Besar
Jika basis data Anda berisi data dalam jumlah sangat besar, proses dump dapat memakan waktu lama. Salah satu pendekatan yang efektif adalah menggunakan gzip untuk mengompres dump secara real time.
mysqldump -u root -p my_database | gzip > backup_$(date +%Y%m%d).sql.gz
Perintah ini mengompres data selama proses dump, membantu menghemat ruang disk.
7. Kesimpulan
Dalam artikel ini, kami menjelaskan cara mengekspor tabel tertentu menggunakan perintah mysqldump. Kami membahas semua hal mulai dari penggunaan perintah dasar hingga dump bersyarat, ekspor hanya struktur atau hanya data, bahkan teknik scripting yang efisien. mysqldump adalah alat yang sangat kuat, dan bila digunakan dengan tepat, memungkinkan Anda melakukan backup dan migrasi basis data dengan lancar.
Pada artikel berikutnya, kami akan menyelami lebih dalam opsi-opsi mysqldump yang lebih lanjutan dan membandingkannya dengan alat backup lainnya.


