Cara Backup Database MySQL Secara Otomatis pada Windows Server

backup mysql windows

Jika kamu seorang sistem administrator tentunya sudah pasti menjadi perhatian bagaimana membackup database setiap hari agar data dapat terjaga jika sewaktu-waktu server mengalami kerusakan. Saat menjalankan sebuah aplikasi atau situs web yang menggunakan database MySQL pada Windows Server , penting untuk memastikan bahwa data kamu aman dan terlindungi dari kehilangan atau kerusakan. Kamu dapat melakukan backup database MySQL secara otomatis pada Windows Server

Salah satu cara terbaik untuk melakukannya adalah dengan secara teratur melakukan backup database. Berikut adalah panduan langkah-demi-langkah tentang cara melakukan backup database MySQL pada Windows Server:

1. Persiapan Awal:

Sebelum kamu mulai membuat backup database, pastikan kamu memiliki akses administrator ke server Windows yang kamu miliki. Pastikan juga bahwa MySQL telah di instal dan berfungsi dengan baik.

2. Pilih Metode Backup:

Ada beberapa cara untuk membuat backup database MySQL, antara lain:

  • Backup dengan perintah SQL: Menggunakan perintah SQL seperti mysqldump.
  • Menggunakan alat manajemen basis data grafis seperti MySQL Workbench.
  • Melakukan backup menggunakan aplikasi pihak ketiga

Kali ini kita akan mencoba menggunakan mysqldump, di mana akan kita jalankan via Batch file pada Windows. pastikan juga mysqldump sudah dapat di jalankan pada cmd. untuk memastikannya ketikkan perintah mysqldump pada cmd lalu tekan enter

Jika tampil seperti screenshot di atas, berarti mysqldump sudah dapat di jalankan dengan baik pada server Windowsmu.

3. Instalasi Aplikasi 7Zip

7zip adalah aplikasi untuk kompresi file gratis yang memungkinkan pengguna untuk mengompres dan mengekstrak file dan folder dengan mudah. Aplikasi ini juga dapat dijalankan dengan perintah melalui CMD. Ini nantinya akan digunakan untuk mengkompresi hasil backup sehingga lebih menghemat kapasitas penyimpanan servermu. Kamu dapat mendowload aplikasi 7Zip : https://www.7-zip.org/download.html

4. Membuat Batch File

Untuk menjalankan backup database secara otomatis kamu perlu membuat bacth file yang nantinya akan di jalankan via Task Scheduler.

  • Buka Aplikasi Notepad atau Text Editor yang biasa kamu pakai
  • Tuliskan script seperti dibawah ini dan sesuaikan script dengan konfigurasi server yang kamu punya seperti nama database, user dan password database dan lain sebagainya
@echo off

tasklist /FI "IMAGENAME eq mysqld.exe" 2>NUL | find /I /N "mysqld.exe">NUL
if "%ERRORLEVEL%"=="0" (
    goto continue
) else (
    goto mysql_not_running
)

:continue		
 set dbUser=root [Ubah Sesuai User Database]
 set dbPassword=xxx [Ubah Sesuai Password Database]
 set db=namadb [Ubah Sesuai Database Yang Ingin Di Backup]
 set backupDir="D:\BackupDB" [Ubah Sesuai Lokasi Folder Tempat Menyimpan Hasil Backup]
 set mysqldump="C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqldump.exe" [Ubah Sesuai Lokasi Folder Tempat mysqldump.exe berada]
 set mysqlDataDir="C:\ProgramData\MySQL\MySQL Server 8.0\Data" [Ubah Sesuai Lokasi Folder Tempat data MySQL berada]
 set zip="C:\Program Files\7-Zip\7z.exe" [Ubah Sesuai Lokasi Folder 7zip berada]

 :: get date
 for /F "tokens=2-4 delims=/ " %%i in ('date /t') do (
      set yy=%%i
      set mon=%%j
      set dd=%%k
 )

 :: get time
 for /F "tokens=5-8 delims=:. " %%i in ('echo^| time ^| find "current" ') do (
      set hh=%%i
      set min=%%j
 )

set hr=%time:~0,2%
set hr=%hr: =0%

set dirName=%mon%-%yy%-%dd%_%hr%-%min%
  

 if not exist %backupDir%\%dirName%\ (
      mkdir %backupDir%\%dirName%
 )

 echo -----------------------------
 echo * MySQL backup are starting *
 echo -----------------------------
 echo Current backup : %db%.sql
 %mysqldump% --host="localhost" --user=%dbUser% --password=%dbPassword% --single-transaction --add-drop-table --databases %db% > %backupDir%\%dirName%\%db%.sql

 %zip% a -tgzip %backupDir%\%dirName%\%db%.sql.gz %backupDir%\%dirName%\%db%.sql
 echo[
 echo Done compress and archive thus file..now lets delete SQL file...
 del %backupDir%\%dirName%\%db%.sql
 cls
 
 popd

 echo -----------------------------
 echo + MySQL backup are finished +
 echo -----------------------------
 exit

:mysql_not_running
echo -----------------------------
echo !!WARNING COULDN'T CONTINUE!!
echo -----------------------------
echo Message: mysqld.exe is not running, please start it (e.g. via xampp-control)
pause
exit

Yang perlu kamu sesuaikan dengan konfigurasimu adalah pada variable :

  • set dbUser=root [Ubah Sesuai User Database]
  • set dbPassword=xxx [Ubah Sesuai Password Database]
  • set db=namadb [Ubah Sesuai Database Yang Ingin Di Backup]
  • set backupDir=”D:\BackupDB” [Ubah Sesuai Lokasi Folder Tempat Menyimpan Hasil Backup]
  • set mysqldump=”C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqldump.exe” [Ubah Sesuai Lokasi Folder Tempat mysqldump.exe berada]
  • set mysqlDataDir=”C:\ProgramData\MySQL\MySQL Server 8.0\Data” [Ubah Sesuai Lokasi Folder Tempat data MySQL berada]
  • set zip=”C:\Program Files\7-Zip\7z.exe” [Ubah Sesuai Lokasi Folder 7zip berada]

Setelah disesuaikan. Simpan file dalam bentuk batch file yang berformat .bat

5. Uji Coba Script Backup

Jalankan script backup dengan cara mengklik file .bat tadi dan cek apakah hasil backup sudah ada pada folder yang telah kita tentukan tadi.

Kamu juga dapat mencoba untuk melakukan restore hasil backup apakah dapat terbaca dengan baik pada databasemu tanpa ada data yang error.

4. Menjadwalkan Backup Otomatis Via Task Scheduler

Agar lebih efisien, disarankan untuk menjadwalkan backup database MySQL secara otomatis pada Windows. Kamu dapat menggunakan Task Scheduler di Windows untuk melakukan ini. Berikut langkah-langkahnya:

  • Buka Task Scheduler melalui Control Panel atau cari “Task Scheduler” di menu Start.
  • Buat tugas baru dengan mengeklik “Create Basic Task” di panel kanan.
  • Beri nama tugas kamu dan deskripsi yang sesuai, kemudian klik “Next”.
  • Pilih frekuensi dan waktu yang Anda inginkan untuk menjalankan backup, kemudian klik “Next”.
  • Pilih “Start a Program” dan klik “Next”.
  • Pilih file .bat yang telah kita buat tadi (contoh : BackupDB.bat) sebagai program untuk dijalankan
  • Klik “Next”, lalu “Finish” untuk menyelesaikan penjadwalan tugas.

Dengan menjadwalkan backup secara otomatis, Kamu dapat memastikan bahwa data kamu selalu terlindungi.

Setelah backup di jadwalkan, pastikan untuk secara teratur menguji proses restore dari backup. Ini akan memastikan bahwa kamu dapat mengembalikan database Anda dengan sukses jika terjadi kejadian yang tidak di inginkan.

Penutup

Dengan mengikuti panduan ini, Kamu akan dapat membuat dan menjadwalkan backup database MySQL yang kamu miliki secara otomatis dengan mudah pada server Windows mu. Ini adalah langkah penting untuk melindungi data kamu dan memastikan kelancaran operasi bisnis yang kamu jalankan.

Exit mobile version