author Ahmad Muhardian

Cara Backup Database MySQL di Linux (Ekspor dan Impor)


Backup semua database MySQL

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.