Cara Backup dan Restore Database MySQL via Terminal

Kamu bisa melakukan proses backup dan restore database MySQL langsung di server atau backup secara remote menggunakan komputer ke server.

Hasil backup bisa ditentukan berupa plain text dalam format *.sql atau menggunakan file kompresi *.gz jika database mu besar agar hasil backup menjadi lebih kecil.

Kamu juga bisa setting agar proses backup database dilakukan secara otomatis dengan jadwal waktu yang bisa kamu tentukan.

Backup Database MySQL Dengan mysqldump

Aplikasi mysqldump otomatis terpasang saat kamu install aplikasi MySQL, jadi kamu bisa langsung menggunakannya dan lokasi file mysqldump tersimpan dalam satu folder dengan aplikasi mysql.

Cara menggunakan perintah mysql backup:

mysqldump [OPTIONS] database > filebackup.sql

Penjelasan. Perintah mysqldump bisa di sertai dengan options yang tersedia lalu di ikuti dengan nama database yang akan di backup lalu akan di simpan hasil backup menjadi filebackup.sql setelah itu kamu bisa simpan hasil backup di tempat yang aman.

Akun dan OPTIONS Perintah mysqldump

Proses backup di MySQL biasanya membutuhkan user dan password oleh karena itu kamu perlu tau username dan password server MySQL yang akan di backup.

Setelah itu kamu bisa melakukan proses backup dengan user dan password menggunakan opsi -u untuk memasukan user dan dan -p untuk memasukan password.

Contoh perintahnya lengkapnya seperti ini mysqldump -u root -p database > filebackup.sql

Durasi Proses Backup

Sewaktu menjalankan proses backup di tunggu saja sampai proses selesai cepat atau lama bergantung dari kecepatan komputer dan besar file yang akan di backup.

Jadi tunggu hingga proses selesai dan pastikan tidak ada pesan error sewaktu backup ini penting untuk diperhatikan.

Cara Backup dan Restore Database MySQL

Proses backup dan restore database MySQL bisa dilakukan langsung di server atau kamu bisa melakukan backup dari server ke komputer kamu secara remote.

Jika database mu besar banget maka baiknya kamu menggunakan fitur kompresi saat backup agar hasil backup menjadi lebih kecil.

Backup Langsung di Server Tanpa Kompresi

Kamu bisa lakukan cara ini untuk melakukan backup database di server lalu menyimpan hasil backup masih di server yang sama, misalnya kamu simpan di folder yang berbeda

Cara ini bisa kamu gunakan jika ukuran database mu tidak terlalu besar.

Backup database website_belajarlinux ke dalam file backup_website_belajarlinux.sql

$ sudo mysqldump -u root -p website_belajarlinux > backup_website_belajarlinux.sql

Restore backup_website_belajarlinux.sql ke database yang baru dengan perintah berikut:

$ sudo mysql -u root -p website_baru < backup_website_belajarlinux.sql

Backup Langsung di Server Dengan Kompresi

Cara ini sangat direkomendasikan jika ukuran database mu besar agar file backup menjadi kecil sehingga cepat ditransfer antar server ataupun didownload.

Backup database blog_linux ke dalam file blog_linux.sql.gz yang sudah langsung terkompres dengan ukuran file yang lebih kecil

$ mysqldump -u username -p blog_linux | gzip -9 > blog_linux.sql.gz

Restore mengembalikan backup database blog_linux.sql.gz yang telah terkompres ke server dengan nama database blog_linux.

$ zcat blog_linux.sql.gz | mysql -u username -p blog_linux

Backup & Restore Secara Remote Dari client/Laptop Mu

Kamu bisa backup database yang ada di server menggunakan komputermu langsung.

Syaratnya di komputermu sudah terinstall aplikasi mysqldump.

Jika belum ada maka install MySQL di komputermu maka otomatis aplikasi mysqldump akan terinstall.

Backup database website_belajarlinux yang ada di dserver IP server 113.34.1.14 ke dalam file backup_website_belajarlinux.sql di komputer kamu

$ sudo mysqldump -h "113.34.1.14" -u root -p website_belajarlinux > backup_website_belajarlinux.sql

Restore file backup_website_belajarlinux.sql dari laptop ke server yang ada di IP 113.34.1.14

$ sudo mysql -h  "113.34.1.14" -u root -p website_belajarlinux <  backup_website_belajarlinux.sql

Cara Backup Database MySQL Secara Masal

Apa lagi nih? Iya ini hanya tips dan trik bonus tambahan dari saya untuk proses backup berdasarkan pengalaman pribadi.

Server biasanya berisi banyak database, maka kamu bisa melakukan proses backup beberapa database yang dipilih atau bisa juga semua/sekaligus.

Backup Beberapa Database Sekaligus

Didalam satu server database biasanya terdapat beberapa database maka akan sangat melelahkan melakukan proses backup database satu per satu maka lebih baik gunakan cara ini:

$ sudo mysqldump -u root -p --databases website1 website2 aplikasi_db > backup_db.sql

Penjelasan. Perintah di atas akan melakukan proses backup data yang ada di database website1, website2 dan aplikasi_db kedalam 1 file backup yaitu backup_db.sql

Backup Semua Database

Kalau tidak mau pusing kamu lakukan cara ini untuk backup semua database yang ada di server

$ sudo mysqldump -u root -p --all-databases > all_databases.sql

Penjelasan. Semua database akan di backup ke dalam file all_database.sql

Setelah backup dengan –all-databases mungkin selanjutnya kamu hanya mau restore salah satu database saja maka kamu bisa pakai cara ini

$ mysql --one-database aplikasi_db < all_databases.sql

Backup Database MySQL Otomatis

Pasti capek kan backup setiap hari? Nah proses backup bisa di buat otomatis dengan menggunakan bantuan cron-job di linux.

Jalankan perintah ini cukup sekali saja, gunanya untuk menambah perintah ke cron-job sehingga proses backup dapat berjalan otomatis setiap hari pada pukul 3.00 pagi hari.

sudo echo $(crontab -l ; echo '0 03 * * * mysqldump -u root -pPASSWORDKAMU --all-databases > ~/all_databases.sql') | crontab -

Penjelasan. Ganti PASSWORDKAMU dengan password database milik kamu, backup akan berjalan otomatis setiap hari jam 3 pagi file backup akan di simpan di folder /root/all_databases.sql

KESIMPULAN

Sekarang kamu sudah tau cara backup menggunakan terminal sekarang tinggal kamu melakukan tugas kamu untuk melakukan proses backup.

Proses backup bisa dilakukan secara berkala secara otomatis atau sesuai kebutuhan yang kamu perlukan.

Dengan menggunakan aplikasi mysqldump kamu bisa melakukan proses backup dan restore langsung di server atau kamu bisa melakukannya dari komputer kamu yang di remote ke server.

Akhir kata, selamat mencoba kalau kamu ada pertanyaan silakan isi komentar di bawah.

Tinggalkan komentar

This site uses Akismet to reduce spam. Learn how your comment data is processed.