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.sqlatau:
mysqldump -u username -p -A > cadangan.sqlKode 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.sqlatau:
mysqldump -u username -p -A -d > cadangan.sqlMaka 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.sqlCara 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.sqlAtau bisa juga:
mysqldump -u username -p db_name -R > db_backup.sqlNah untuk backup trigger, tinggal tambahkan saja
argumen --triggers.
Contoh:
mysqldump -u username -p db_name --routines --triggers > db_backup.sqlCara 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.sqlAtau bisa juga langsung seperti ini:
mysqldump -u username -p db_kantor > db_kantor_2020_backup.sqlKita 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.sqlAtau bisa juga langsung seperti ini:
mysqldump -u username -p db_kantor karyawan > db_kantor_2020_backup.sqlCara 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.sqlMaka 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.sqlAkhir 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 mysqlAkhir kata, terima kasih sudah mengikuti tutorial ini.
Semoga bermanfaat.