Impor dan Ekspor Database di MySQL menggunakan Baris Perintah
Mengelola backup dan migrasi database adalah tugas penting bagi administrator database MySQL. Dengan menggunakan baris perintah, Anda dapat dengan mudah mengekspor database ke file cadangan atau mengimpornya ke lingkungan yang baru. Panduan ini membahas cara mengimpor dan mengekspor database di MySQL menggunakan baris perintah.
Prasyarat
Sebelum memulai, pastikan bahwa:
- MySQL terinstal dan berjalan pada server atau mesin lokal Anda.
- Anda memiliki akses ke terminal atau baris perintah.
- Anda memiliki kredensial MySQL yang diperlukan, termasuk nama pengguna dan kata sandi.
Mengekspor Basis Data dengan mysqldump
Utilitas mysqldump adalah alat standar untuk mengekspor basis data di MySQL. Utilitas ini membuat file .sql yang berisi pernyataan SQL yang diperlukan untuk membuat ulang database.
1. Mengekspor Satu Database
Untuk mengekspor database tunggal, gunakan sintaks berikut:
mysqldump -u [username] -p [database_name] > [filename].sql
- -u [nama pengguna]: Nama pengguna MySQL.
- -p: Meminta kata sandi MySQL.
- [nama_database]: Nama database yang ingin Anda ekspor.
- [namafile].sql: Nama file keluaran yang akan berisi cadangan basis data.
Contoh:
Perintah ini akan meminta kata sandi pengguna root dan membuat file bernama mydatabase_backup.sql yang berisi semua data dan struktur mydatabase.
2. Mengekspor Beberapa Basis Data
Untuk mengekspor beberapa basis data, gunakan bendera –database diikuti dengan nama-nama basis data:
mysqldump -u [username] -p --databases [database1] [database2] > [filename].sql
Contoh:
mysqldump -u root -p --databases db1 db2 > multiple_databases_backup.sql
Perintah ini akan mengekspor db1 dan db2 ke dalam multiple_databases_backup.sql.
3. Mengekspor Semua Basis Data
Untuk mengekspor semua basis data pada server MySQL Anda, gunakan flag –all-databases:
mysqldump -u [username] -p --all-databases > all_databases_backup.sql
Contoh:
mysqldump -u root -p --all-databases > all_databases_backup.sql
Ini membuat cadangan penuh semua basis data ke dalam all_databases_backup.sql.
4. Hanya Ekspor Struktur Tabel (Tanpa Data)
Jika Anda hanya membutuhkan struktur tabel tanpa data, tambahkan flag –no-data:
mysqldump -u [username] -p --no-data [database_name] > structure_only.sql
Contoh:
mysqldump -u root -p --no-data mydatabase > structure_only.sql
5. Tabel Khusus Ekspor
Untuk mengekspor tabel tertentu dari database, cantumkan tabel tersebut setelah nama database:
mysqldump -u [username] -p [database_name] [table1] [table2] > [filename].sql
Contoh:
mysqldump -u root -p mydatabase table1 table2 > tables_backup.sql
Mengimpor Basis Data dengan mysql
Untuk mengimpor basis data dari file SQL, gunakan perintah mysql.
1. Mengimpor Satu Basis Data
Untuk mengimpor file SQL ke dalam database MySQL, gunakan perintah berikut:
mysql -u [username] -p [database_name] < [filename].sql
- -u [nama pengguna]: Nama pengguna MySQL.
- -p: Meminta kata sandi MySQL.
- [nama_database]: Nama database tempat data akan diimpor.
- [nama_file].sql: Nama file .sql yang akan diimpor.
Contoh:
mysql -u root -p mydatabase < mydatabase_backup.sql
Perintah ini akan meminta kata sandi pengguna root dan mengimpor isi mydatabase_backup.sql ke dalam mydatabase.
2. Mengimpor ke dalam sebuah basis data baru
Jika Anda ingin mengimpor ke dalam database baru, pertama-tama Anda harus membuat database dan kemudian mengimpor file .sql.
Langkah 1: Membuat database baru.
mysql -u [username] -p -e "CREATE DATABASE [new_database_name];"
Langkah 2: Impor file .sql ke dalam basis data yang baru.
mysql -u [username] -p [new_database_name] < [filename].sql
Contoh:
mysql -u root -p -e "CREATE DATABASE newdatabase;"
mysql -u root -p newdatabase < mydatabase_backup.sql
3. Mengimpor Semua Basis Data
Jika Anda mencadangkan semua basis data menggunakan –all-database, Anda dapat mengimpornya kembali menggunakan:
mysql -u [username] -p < all_databases_backup.sql
Contoh:
mysql -u root -p < all_databases_backup.sql
Perintah ini akan memulihkan semua basis data yang ada di dalam file all_databases_backup.sql.
Tips Menggunakan mysqldump dan mysql
- Gunakan Kompresi: Untuk menghemat ruang disk dan waktu transfer, Anda dapat mengompresi file cadangan menggunakan gzip:
mysqldump -u root -p mydatabase | gzip > mydatabase_backup.sql.gz
Dan untuk mengimpornya:
gunzip < mydatabase_backup.sql.gz | mysql -u root -p mydatabase
- Verifikasi Database Sebelum Impor: Pastikan database yang akan Anda impor dalam keadaan kosong atau berisi data yang kompatibel untuk menghindari konflik.
- Periksa Set Karakter: Jika Anda berurusan dengan karakter non-ASCII, pastikan Anda mengekspor dan mengimpor dengan set karakter yang benar menggunakan opsi –default-character-set:
mysqldump -u root -p --default-character-set=utf8 mydatabase > mydatabase_backup.sql
- Penanganan Kesalahan: Jika Anda mengalami kesalahan selama impor, periksa masalah umum seperti database atau struktur tabel yang hilang dan pastikan file .sql Anda sudah lengkap.
Ringkasan
Mengekspor dan mengimpor basis data MySQL menggunakan baris perintah sangatlah mudah dengan mysqldump dan mysql. Kedua alat ini memungkinkan fleksibilitas dalam mengelola cadangan, migrasi database antar server, dan membuat ekspor khusus struktur atau data tertentu. Dengan memahami perintah dan opsinya, Anda bisa memastikan operasi basis data yang lancar dan menjaga integritas data selama transfer.