Cara Backup Database MySQL di Linux (Ekspor dan Impor)
Membuat backup (cadangan) database perlu dilakukan sebelum instal ulang server atau untuk berjaga-jaga bila terjadi sesuatu yang tidak diinginkan.
Backup sebenarnya bisa kita lakukan melalui Phpmyadmin dengan cara mengekspor semua database.
Tapi bagaimana kalau kita belum menginstal Phpmyadmin di Server?
Tenang…
Kita masih bisa melakukan backup melalui command line.
Caranya gimana?
Silakan disimak:
Cara Backup Semua Database
Kita bisa backup database MySQL dengan perintah mysqldump
.
Perintah ini akan membuat kode SQL. Kode SQL yang dihasilkan,
dapat kita simpan ke dalam file .sql
sebagai backup.
Selain file SQL, perintah mysqldump
juga bisa menyimpan
backup dalam bentuk CSV dan XML.
1. Backup Skema dan Datanya
Buka terminal dan ketik perintah berikut ini
mysqldump -u username -p --all-databases > cadangan.sql
atau:
mysqldump -u username -p -A > cadangan.sql
Kode tersebut akan menghasilkan sebuah file bernama cadangan.sql
.
File tersebut berisi kode SQL yang dapat kita impor ke server MySql.
Jangan lupa untuk mengganti username
dengan username
database anda, misalnya root
.
2. Backup Skema Saja
Bila ingin membuat cadangan struktur database-nya saja,
nda bisa menambahkan argumen --no-data
atau -d
.
Contoh:
mysqldump -u username -p --all-databases --no-data > cadangan.sql
atau:
mysqldump -u username -p -A -d > cadangan.sql
Maka semua data tidak akan ikut dicadangkan.
Untuk membuat cadangan dari server remote,
tambahkan argumen -h
untuk menyatakan alamat
IP host-nya.
Contoh:
mysqldump -u root -h 182.168.1.2 -p -A > cadangan.sql
Cara Backup Routine dan Trigger
Routine dan trigger tidak ikut ter-backup secara otomatis.
Karena itu…
Jika di database-mu ada routine (prosedur dan fungsi)
dam Trigger, kita bisa backup dengan menambahkan
argumen --routines
(atau -R
) dan --trigers
.
Contoh:
mysqldump -u username -p db_name --routines > db_backup.sql
Atau bisa juga:
mysqldump -u username -p db_name -R > db_backup.sql
Nah untuk backup trigger, tinggal tambahkan saja
argumen --triggers
.
Contoh:
mysqldump -u username -p db_name --routines --triggers > db_backup.sql
Cara Backup Database Spesifik
Kita juga bisa menentukan database dan tabel yang akan di-backup.
Caranya?
Kita tinggal tambahkan --databases
Lalu diikuti nama database-nya.
Contoh:
mysqldump -u username -p --database db_kantor > db_kantor_2020_backup.sql
Atau bisa juga langsung seperti ini:
mysqldump -u username -p db_kantor > db_kantor_2020_backup.sql
Kita juga bisa menentukan tabel yang akan di-backup secara spesifik dengan cara menuliskan nama tabelnya setelah database.
Contoh:
mysqldump -u username -p --database db_kantor karyawan > db_kantor_2020_backup.sql
Atau bisa juga langsung seperti ini:
mysqldump -u username -p db_kantor karyawan > db_kantor_2020_backup.sql
Cara Restore Database
Nah untuk mengembalikan (restore) database yang sudah kita backup.. Kita bisa impor file SQL yang sudah dibuat.
Import bisa dilakukan melalui Phpmyadmin atau aplikasi serupa.
1. Restore Semua Database
Jika ingin mengembalikan semua database yang sudah dicadangkan, maka kita bisa menggunakan perintah berikut.
mysql -u username -p < cadangan.sql
Maka semua kode SQL yang ada di dalam file
cadangan.sql
akan dieksekusi dan hasilnya
tentu sesuai dengan backup yang kita buat.
2. Restore Satu Datbase
Jika kita ingin mengimpor database secara spesifik, maka kita bisa tuliskan nama database-nya.
Contoh:
mysql -u username -p db_name < cadangan.sql
Akhir Kata…
Nah itulah cara backup dan restore database MySQL dengan menggunakan perintah di command line.
Jika kamu ingin mempelajari lebih lanjut tentang perintah-perintah ini, kamu bisa membaca dokumentasinya di:
Atau bisa juga membacanya melalui perintah man
.
Conoht:
man mysqldump
man mysql
Akhir kata, terima kasih sudah mengikuti tutorial ini.
Semoga bermanfaat.