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.
Pembahasan artikel cara backup & resotre mysql via terminal berisi:
Cara 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] namadatabase > 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 namadb > hasilbackup.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.