Kali ini saya akan sedikit berbagi sebuah trik sederhana namun bermanfaat yaitu bagaimana caranya supaya database dalam sebuah server ter-backup keseluruhan menjadi sebuah file. Nantinya file backup ini bisa dengan mudah di-restore di server lain atau saat diperlukan (misalnya sebagai disaster recovery).
Baiklah, cara yg saya gunakan yaitu menggunakan perintah mysqldump yg format lengkapnya kurang lebih begini:
mysqldump -u root -p'tempegorenk' --all-databases | gzip > /root/all-databases-`date +"%d-%m-%Y"`.sql.gz
Untuk dapat menjalankan perintah di atas tentu Anda harus tahu password root mysql, kalau misal ga tahu ya Anda harus nanya ke sysadmin server.
Penjelasan singkat mengenai command di atas:
mysqldump
adalah command utama yg kita gunakan di sini, perintah ini akan melakukan dump database yg ada di server-u root
artinya user yg berperan menjalankan perintah ini adalah root mysql- Sementara
-p
di atas adalah password root mysql (sebagai contoh, password dalam command tsb yaitu tempegorenk) --all-databases
artinya semua database akan terbackup- Perintah ini dilanjutkan dg piping ke command
gzip
yg gunanya utk mengkompresi ukuran file output - Seperti yg terlihat di sana, file hasil
mysqldump
akan disimpan di direktori /root dengan ekstensi .sql.gz `date +"%d-%m-%Y"`
adalah syntax untuk menambahkan tanggal terjadinya backup pada nama file yg dihasilkan.
OK, kira-kira gitu aja caranya. Sangat mudah dan simpel. Biasanya ini akan diperlukan saat migrasi atau boyongan pindah server. Untuk lebih berguna lagi, cara ini bisa dikembangkan lebih jauh misalnya dijalankan di crontab supaya terkirim ke server lain dengan command scp, dst.