22 January 2021

Windows Batch Untuk Skip Error Replikasi Mysql

NTMS aja biar ga lupa

Jadi punya database umur 4 tahun ukuran 100gb, direplikasi ke server ke-2

Karena salah hapus log, replikasi ngeror, terpaksa bikin ulang, pengennya cepet eh malah ribet.

Yang saya bikin, create struktur doang dari server pertama di server kedua, terus jalanin replikasi, lancar...

Ternyata, klo replikasi start dari nol gini, byk sintak modif struktur spt nambah index, nambah kolom yg bikin replikasi mandek, padahal ecek2 aja.

Ya udah bikin batch yg dijalanin scheduler, untuk cek slave status, saat ada error, replikasi ngeskip error dan jalan lagi, simpel aja scriptnya, seperti dibawah ini.

@echo off
@mysql -u root -ppasswordnya -e "show slave status \G;" | findstr /C:"Slave_SQL_Running: No" > NUL
if %errorlevel%==0 (GOTO:skipit) else (goto:fine)
:skipit
echo Skip error replikasi
rem buat file log error replikasi
echo Ada error @ %date% %time% >> "h:\executables\errorreplikasi.txt"
@mysql -u root -ppassword -e "show slave status \G;" >> "h:\executables\errorreplikasi.txt"
mysql -u root -ppasswordnya -e "stop slave;SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;start slave;"
goto:EOF
:fine
echo No Error

No comments:

Post a Comment