Saya mempunyai aplikasi yang mencatat beberapa data-data yang menurut saya penting. Data tersebut saya simpan dalam sebuah database Mysql versi 5.7 dan running pada VPS Ubuntu 18.04. Berhubung data yang ada erat kaitannya dengan hitung-hitungan dan aplikasi masih terus dalam fase pengembangan dan rawan terjadi kesalahan pada program yang saya buat, saya terpikir untuk melakukan backup harian secara otomatis selama 7 hari terakhir.
Sedikit latar belakang, aplikasi running di VPS droplet Digital Ocean. Jadi server untuk terus menyala selama 24/7 tidak ada masalah. Saya coba baca-baca akhirnya menemukan 2 kata kunci untuk penyelesaian masalah saya ini backup database dan Scheduler. Saya akan coba berbagi bagaimana cara saya dalam membuat tersebut pada artikel ini.
Requirements dan Batasan Sistem :
- RDBMS Mysql 5.7.40
- Sistem Operasi Ubuntu 18.04.04
Backup Database
Kenapa butuh backup ?
- kemampuan untuk melakukan perbaikan terhadap data yang hilang atau korup/bermasalah,
- salah satu cara untuk pertahanan terhadap serangan siber,
- asuransi murah terhadap interupsi data pada bisnis,
- keperluan untuk kepatuhan (compliance) dan audit,
- dan lain sebagainya.
Backup database pada Mysql 5.7.40
- backup, untuk mengembalikan data apabila terjadi kehilangan data,
- source data ketika hendak melakukan replika,
- source data untuk eksprerimen, semisal untuk melakukan copy data ke environment development atau untuk melakukan test apakah ada yang incompatibilities saat hendak melakukan upgrade versi Mysql.
- --no-tablespaces digunakan untuk menghindari kemungkinan error 'Access denied; you need (at least one of) the PROCESS privilege(s) for this operation' when trying to dump tablespaces. Rujukannya bisa dilihat pada pembahasan Stackoverflow berikut.
- -u username -p'password' digunakan untuk memastikan credential user yang akan melakukan backup. Pada saat digunakan, ganti username dengan username yang kalian gunakan untuk login ke Mysql. ‘password’ dimasukkan ke dalam petik (‘’) untuk mengatasi apabila dalam password yang digunakan ada spesial karakter. Semisal username yang digunakan untuk login adalah ‘retail2’ dan passwordnya ‘Retail@--20@’.
- database_name merujuk ke nama database yang digunakan.Semisal db_toko adalah nama database yang digunakan untuk aplikasi ini.
- > filesimpan.sql digunakan untuk menyimpan hasil mysqldump ke dalam file .sql yang disiapkan. Semisal nama file yang akan disimpan hasil dari mysqldump adalah db_retail_bck_20231230.sql.
Scheduler
Bash file Job
Memasang Cron
Sekian dari saya atas perhatiannya saya berterimakasih dan memohon maaf apabila terdapat kesalahan. Apabila ada saran/masukan dari artikel mohon untuk bisa ditulis di komentar atau menghubungi lewat email yang tersedia pada profil. (Sufyan Saori)
Sumber
- https://www.airplane.dev/blog/how-to-edit-crontab diakses tanggal 26 Desember 2023.
- https://www.cohesity.com/glossary/database-backup diakses tanggal 26 Desember 2023.
- https://dev.mysql.com/doc/mysql-backup-excerpt/5.7/en/using-mysqldump.html diakses tanggal 26 Desember 2023.
- https://support.hostway.com/hc/en-us/articles/360000220190-How-to-backup-and-restore-MySQL-databases-on-Linux diakses tanggal 26 Desember 2023.
- https://www.cherryservers.com/blog/how-to-use-cron-to-automate-linux-jobs-on-ubuntu-20-04#:~:text=Cron%20is%20a%20Linux%20job,on%20a%20pre%2Dset%20schedule diakses tanggal 30 Desember 2023.
- https://crontab.guru/ diakses tanggal 31 Desember 2023.
Posting Komentar untuk "Backup Berkala MySQL 5.7.40 di Ubuntu 18.04 menggunakan Corn Job"
Berilah komentar, saran, dan kritik dengan bijak