Backup database MySQL pada server yang kamu miliki khususnya jika server mu memakai sistem operasi Linux seperti Centos atau Ubuntu sangat mudah untuk dilakukan. Kamu juga dapat mengatur fungsi backup MySQL tersebut berjalan secara otomatis dalam periode waktu tertentu.
Backup database adalah praktik kunci dalam manajemen data yang berkelanjutan dan perlindungan terhadap kehilangan atau kerusakan data yang tidak terduga. Dengan memiliki backup yang teratur dan terenkripsi, Kamu dapat memastikan bahwa data kamu aman, dapat diakses, dan dapat dipulihkan dengan cepat dalam situasi darurat atau perubahan sistem yang direncanakan.
Berikut adalah panduan langkah-demi-langkah tentang cara melakukan backup database MySQL pada Ubuntu / Centos :
1. Persiapan Awal:
Sebelum kamu mulai membuat backup, pastikan bahwa kamu memiliki akses ke terminal dan telah login sebagai pengguna dengan hak akses sudo atau root.
2. Membuat Backup dengan mysqldump
Buatlah script backup yang nanti akan kita jalankan, kamu bisa menggunakan nano atau vi text editor, Kami sarankan menggunakan nano text editor yang penggunaannya sangat mudah. Buka terminal dan jalankan perintah dibawah ini
nano BackupDBMySQL.sh
Setelah itu tulisankan script dibawah ini
#!/bin/bash
################################################################
##
## MySQL Database Backup Script
## Written By: Rahul Kumar
## URL: https://tecadmin.net/bash-script-mysql-database-backup/
## Last Update: Jan 05, 2019
##
################################################################
export PATH=/bin:/usr/bin:/usr/local/bin
TODAY=`date +"%Y%m%d"`
################################################################
################## Update below values ########################
DB_BACKUP_PATH='/home/Backup/db'
MYSQL_HOST='127.0.0.1'
MYSQL_PORT='3306'
MYSQL_USER='root'
MYSQL_PASSWORD='xxxxx'
DATABASE_NAME='penjualan'
BACKUP_RETAIN_DAYS=7 ## Number of days to keep local backup copy
#################################################################
mkdir -p ${DB_BACKUP_PATH}/${TODAY}
echo "Backup started for database - ${DATABASE_NAME}"
mysqldump -h ${MYSQL_HOST} \
-P ${MYSQL_PORT} \
-u ${MYSQL_USER} \
-p${MYSQL_PASSWORD} \
${DATABASE_NAME} | gzip > ${DB_BACKUP_PATH}/${TODAY}/${DATABASE_NAME}-${TODAY}.sql.gz
if [ $? -eq 0 ]; then
echo "Database backup successfully completed"
else
echo "Error found during backup"
exit 1
fi
##### Remove backups older than {BACKUP_RETAIN_DAYS} days #####
DBDELDATE=`date +"%Y%m%d" --date="${BACKUP_RETAIN_DAYS} days ago"`
if [ ! -z ${DB_BACKUP_PATH} ]; then
cd ${DB_BACKUP_PATH}
if [ ! -z ${DBDELDATE} ] && [ -d ${DBDELDATE} ]; then
rm -rf ${DBDELDATE}
fi
fi
### End of script ####
Sesuaikan beberapa paramater script di atas sesuai dengan konfigurasi server dan MySQL yang kamu miliki
- DB_BACKUP_PATH : Isikan sesuai folder dimana hasil backup database ingin kamu simpan
- MYSQL_HOST: Isikan host server MySQL
- MYSQL_PORT : Isikan port server MySQL
- MYSQL_USER : Isikan user MySQL
- MYSQL_PASSWORD : Isikan password MySQL
- DATABASE_NAME : Isikan nama database yang ingin di backup
- BACKUP_RETAIN_DAYS : File backup akan di simpan sampai berapa lama
contoh : kamu isikan 7, yang berarti file backup akan di simpan selama 7 hari, jika lebih dari 7 hari file tersebut akan di hapus. Ini berguna untuk menjaga kapasitas penyimpanan server mu tetap tersedia.
Simpan file lalu ubah hak akses agar file BackupDBMySQL.sh dapat di jalankan oleh sistem operasi.
chmod +x BackupDBMySQL.sh
3. Uji Coba Backup MySQL
Selanjutnya kita akan mencoba backup MySQL dengan menjalankan perintah
./BackupDBMySQL.sh
Database berhasil terbackup, kamu dapat mengecek pada folder tempat hasil backup itu di simpan
Jika sudah terbentuk file sql.gz berarti backupmu berhasil di jalankan. Kamu juga dapat merestore file tersebut ke database mu agar dapat memastikan bahwa hasil backup dapat di kembalikan secara sempurna.
4. Menjadwalkan Backup Otomatis
Dengan bantuan cronjob kamu dapat menjalankan scirpt backup yang kamu buat secara otomatis. Misal jika kita ingin menjalankannya setiap hari pada tengah malam
- Buka terminal.
- Ketik perintah
crontab -e
dan tekan Enter untuk mengedit crontab file. - Tambahkan baris berikut untuk menjadwalkan backup pada waktu yang di inginkan:
0 0 * * * /home/Backup/BackupMbj.sh
Kamu dapat menyesuaikan jadwal crontab sesuai kebutuhanmu. Kamu dapat menggunakan crontab generator : https://crontab.guru/ untuk memudahkan mu menulis script crontab.
Penutup
Backup database MySQL secara otomatis adalah langkah penting dalam menjaga keberlangsungan operasi bisnis dan keamanan data. Dengan memiliki backup yang teratur dan terenkripsi, kamu dapat memastikan bahwa data kamu aman, dapat di akses, dan dapat di pulihkan dengan cepat dalam situasi darurat atau perubahan sistem yang di rencanakan.
Respon Anda
Cinta0
Sedih0
Senang0
Sleepy0
Marah0
Pingsan0
Wink0
- Ping-balik: Mengoptimalkan Database MySQL (MySQL Tuning) dengan MySQLTuner - NdukZ
1 Comment