Author Topic: Backup database MySQL dan Restore  (Read 2175 times)

0 Members and 1 Guest are viewing this topic.

Offline honghong

  • Newbie
  • *
  • Posts: 32
Re: Backup database MySQL dan Restore
« Reply #30 on: August 29, 2017, 12:09:51 PM »
saya pake replication, memang harus menyediakan server 1 lagi untuk slavenya.

https://dev.mysql.com/doc/refman/5.7/en/replication.html

saya tertarik untuk mempelajari dan mengimplementasikan replication ini akan tetapi saya masih ragu-ragu atas hal ini :
server di tempat saya tidak menyala 24 jam, pagi dinyalakan, sore dimatikan.
apabila urut-urutan menyalakan server tidak selalu sama, primary nyala dulu baru backup nyala, atau sebaliknya, backup nyala dulu baru primary nyala,

apakah replication tetap berjalan dengan baik pak ?

Mohon sharing pengalamannya dalam memantau proses replication ini. Terima kasih

Offline honghong

  • Newbie
  • *
  • Posts: 32
Re: Backup database MySQL dan Restore
« Reply #31 on: August 29, 2017, 02:13:34 PM »
Sedikit menambahkan bagi rekan-rekan yang mengikuti metode saya (backup offsite menggunakan SQLYog) perintah DOS dibawah ini mungkin akan sangat berguna untuk membantu rekan-rekan menghapus file-file lama secara otomatis (biar ngga penuh harddisknya hehe...)
Otomatisnya ya tinggal di schedule aja di task scheduler  :sunny:

forfiles -p "D:\BACKUPKU" -s -m *.* -d <number of days> -c "cmd /c del @path"

Offline foxy

  • Fox-id M.V.P
  • Hero Member
  • *
  • Posts: 3.537
    • Foxy Land
Re: Backup database MySQL dan Restore
« Reply #32 on: August 30, 2017, 08:31:36 AM »
saya pake replication, memang harus menyediakan server 1 lagi untuk slavenya.

https://dev.mysql.com/doc/refman/5.7/en/replication.html

saya tertarik untuk mempelajari dan mengimplementasikan replication ini akan tetapi saya masih ragu-ragu atas hal ini :
server di tempat saya tidak menyala 24 jam, pagi dinyalakan, sore dimatikan.
apabila urut-urutan menyalakan server tidak selalu sama, primary nyala dulu baru backup nyala, atau sebaliknya, backup nyala dulu baru primary nyala,

apakah replication tetap berjalan dengan baik pak ?

Mohon sharing pengalamannya dalam memantau proses replication ini. Terima kasih

Pertama; mungkin perlu diperjelas dulu; database replication adalah sistem dimana ada dua database yang secara sistem selalu melakukan sinkronisasi dan kedua server tersebut digunakan sebagai production server. Biasanya database replication dilakukan untuk mendistribusikan database. Contoh kasus: kantor di dua lokasi yang terpisahkan dengan jarak yang jauh dan kalau aplikasi harus melakukan access langsung maka akan lambat karena ada bottleneck di koneksi. Kesulitan dari database replication adalah:
1. Harus mengatur primary key supaya tidak bentrok
2. Harus ada pengelolaan secara sistem apabila terjadi konflik data
3. Harus membuat bisnis rule yang jelas; jadi ada saat dimana transaksi tertentu harus dihalangi -- bukan karena tidak bisa masuk, tapi karena rule<-- ini yang paling repot; karena berhubungan dengan teknis lapangan dan management.

Kalau yang dilakukan adalah membuat backup (differensial atau full) rutin dengan tujuan sebagai backup (dan tidak dipakai production); itu tidak bisa disebut database replication.

Database replication tidak harus server nya jalan dalam urutan tertentu atau jalan 24/7. Mungkin yang akan terjadi kalau sistem tidak 24/7, ya akan ada kasus "database belum update" atau "proses replication belum selesai". Ini kembali lagi ke point (3) di atas; mau bikin rule seperti apa?

Silahkan kalau mau ada yang ditambahkan ;)

hth,

foxy
This post is provided as is. Feel free to use all the codes and information, however understand that I don't have any obligations to fix any bug(s) or follow up this subject.

Offline honghong

  • Newbie
  • *
  • Posts: 32
Re: Backup database MySQL dan Restore
« Reply #33 on: August 30, 2017, 08:43:46 AM »
saya pake replication, memang harus menyediakan server 1 lagi untuk slavenya.

https://dev.mysql.com/doc/refman/5.7/en/replication.html

saya tertarik untuk mempelajari dan mengimplementasikan replication ini akan tetapi saya masih ragu-ragu atas hal ini :
server di tempat saya tidak menyala 24 jam, pagi dinyalakan, sore dimatikan.
apabila urut-urutan menyalakan server tidak selalu sama, primary nyala dulu baru backup nyala, atau sebaliknya, backup nyala dulu baru primary nyala,

apakah replication tetap berjalan dengan baik pak ?

Mohon sharing pengalamannya dalam memantau proses replication ini. Terima kasih

Pertama; mungkin perlu diperjelas dulu; database replication adalah sistem dimana ada dua database yang secara sistem selalu melakukan sinkronisasi dan kedua server tersebut digunakan sebagai production server. Biasanya database replication dilakukan untuk mendistribusikan database. Contoh kasus: kantor di dua lokasi yang terpisahkan dengan jarak yang jauh dan kalau aplikasi harus melakukan access langsung maka akan lambat karena ada bottleneck di koneksi. Kesulitan dari database replication adalah:
1. Harus mengatur primary key supaya tidak bentrok
2. Harus ada pengelolaan secara sistem apabila terjadi konflik data
3. Harus membuat bisnis rule yang jelas; jadi ada saat dimana transaksi tertentu harus dihalangi -- bukan karena tidak bisa masuk, tapi karena rule<-- ini yang paling repot; karena berhubungan dengan teknis lapangan dan management.

Kalau yang dilakukan adalah membuat backup (differensial atau full) rutin dengan tujuan sebagai backup (dan tidak dipakai production); itu tidak bisa disebut database replication.

Database replication tidak harus server nya jalan dalam urutan tertentu atau jalan 24/7. Mungkin yang akan terjadi kalau sistem tidak 24/7, ya akan ada kasus "database belum update" atau "proses replication belum selesai". Ini kembali lagi ke point (3) di atas; mau bikin rule seperti apa?

Silahkan kalau mau ada yang ditambahkan ;)

hth,

foxy

uhmm.... pinginnya sih simple aja pak Foxy, database MySQL dibackup secara realtime.
Enak pakai server external atau harddisk kedua atau harddisk kedua tapi mirroring dengan RAID 1 ya ?

Offline foxy

  • Fox-id M.V.P
  • Hero Member
  • *
  • Posts: 3.537
    • Foxy Land
Re: Backup database MySQL dan Restore
« Reply #34 on: August 30, 2017, 08:57:05 AM »
Quote from: honghong
uhmm.... pinginnya sih simple aja pak Foxy, database MySQL dibackup secara realtime.
Enak pakai server external atau harddisk kedua atau harddisk kedua tapi mirroring dengan RAID 1 ya ?

tujuan backup nya adalah.... apakah sekedar backup? Apakah mau diarahkan ke always-on? Atau untuk database replication?

kalau soal backup mau ditaro dimana, ya itu kembali lagi ke management dan bagaimana prosedur disaster recovery nya (prosedur disaster recovery = apa yang harus dilakukan kalau server crash). Jadi pertanyaan "enak pakai yang mana" itu harus dibahas di internal pak honghong dan client/boss.

hth,
foxy
This post is provided as is. Feel free to use all the codes and information, however understand that I don't have any obligations to fix any bug(s) or follow up this subject.

Offline honghong

  • Newbie
  • *
  • Posts: 32
Re: Backup database MySQL dan Restore
« Reply #35 on: August 30, 2017, 10:41:17 AM »
pinginnya sih sekedar backup pak, tapi tidak boleh ada data yang hilang ketika harddisk/server crash... jadi kurang lebihnya seperti realtime backup.

Offline foxy

  • Fox-id M.V.P
  • Hero Member
  • *
  • Posts: 3.537
    • Foxy Land
Re: Backup database MySQL dan Restore
« Reply #36 on: August 30, 2017, 02:05:43 PM »
Kalau itu tujuannya, ya pakai replication. Kalau di MS SQL Server, ada alternatif lain yakni CDC - tapi Anda harus pakai Enterprise Edition yang harga license nya sekitar 350 juta untuk dual core ;)

Alternatif lain (yang saya lakukan, karena sampai sekarang belum cukup beruntung punya client yang bersedia beli versi enterprise ;) ) : bikin aplikasi sendiri. Kalau di MS SQL Server, bisa bikin program, compile sebagai DLL, lalu dijadikan external prosedur yang ditrigger oleh tabel sql server setiap kali ada update/delete/insert.  Program DLL ini kemudian akan menjalankan proses lain untuk mengirimkan perubahan data ke server lain. Karena proses dijalankan di thread PID (=processor id) yang terpisah, maka bisa meminimalisasi pengaruh ke performance database dan aplikasi. --- TAPI --- itu di microsoft sql server dimana format aplikasi multi-threaded (DLL) bisa dikenali sebagai external procedure. Kalau di MySQL, rasanya gak mungkin bisa (karena portability ke OS lain). Satu cara lagi, yang menggunakan prinsip yang mirip tapi terbalik; jadi yang aktif bukan engine database, tapi dibantu aplikasi. Saya punya aplikasi seperti ini, dan jalan di production dengan baik. Prinsip dasarnya; ada aplikasi yang memeriksa perubahan data di database dan mengupdate database di server lain berdasarkan perubahan itu. Konsepnya cukup antik ;) Saya pernah lihat konsep ini dipresentasikan di group tetangga tahun lalu; kalau mau lihat, silahkan download https://www.facebook.com/groups/sqlserverindonesia/909699632400819/ .

Kalau Anda mau bikin aplikasinya, good luck yaaa.... :)

regards,

foxy
This post is provided as is. Feel free to use all the codes and information, however understand that I don't have any obligations to fix any bug(s) or follow up this subject.

Offline frenkie

  • Junior Member
  • *
  • Posts: 325
Re: Backup database MySQL dan Restore
« Reply #37 on: September 13, 2017, 08:21:21 AM »
di tempat saya replication digunakan untuk backup data.
jadi kalo system di server utama crash . tinggal ganti backup menjadi server .
lalu server yang rusak diperbaiki , jadi slave lagi.

simple2 aja.

replication itu master mengirim log ke slave.
per-transferan log akan terjadi jika ke2 server itu berhubungan ...
terserah yang mana dulu yang horny pokoknya kalo udah connect baru transfer ...

kendala - log file corupt ...
solusi - tinggal dilihat , log file dan post command terakhir . lalu di set ulang .

saya sangat terberkati karna mysql punya fitur ini ...
dulu kalo crash , down timenya bisa sampe 2 hari , 1 minggu paling cepet 1 hari (periode backup)
sekarang , bisa 0 menit .




Offline honghong

  • Newbie
  • *
  • Posts: 32
Re: Backup database MySQL dan Restore
« Reply #38 on: September 13, 2017, 09:59:28 AM »
di tempat saya replication digunakan untuk backup data.
jadi kalo system di server utama crash . tinggal ganti backup menjadi server .
lalu server yang rusak diperbaiki , jadi slave lagi.

simple2 aja.

replication itu master mengirim log ke slave.
per-transferan log akan terjadi jika ke2 server itu berhubungan ...
terserah yang mana dulu yang horny pokoknya kalo udah connect baru transfer ...

kendala - log file corupt ...
solusi - tinggal dilihat , log file dan post command terakhir . lalu di set ulang .

saya sangat terberkati karna mysql punya fitur ini ...
dulu kalo crash , down timenya bisa sampe 2 hari , 1 minggu paling cepet 1 hari (periode backup)
sekarang , bisa 0 menit .

replicationnya pakai yang async atau yang semi sync pak ?

Offline frenkie

  • Junior Member
  • *
  • Posts: 325
Re: Backup database MySQL dan Restore
« Reply #39 on: September 14, 2017, 08:29:45 AM »
async pak .

Offline honghong

  • Newbie
  • *
  • Posts: 32
Re: Backup database MySQL dan Restore
« Reply #40 on: September 18, 2017, 08:47:09 AM »
Pak Frenkie, saat ini ditempat saya memiliki 3 server database mysql (production) dan 1 server database mysql (backup).
Bisa kah MySQL Replication dijalankan dengan skema seperti diatas?
Maksud saya, di server 1 database A, server 2 database B, server 3 database C, semuanya direplikasi ke server D, dengan nama database A,B,C ?

Atau dengan pertanyaan lain, apakah 1 server mysql master harus memiliki 1 server mysql slave sendiri ?

Terima kasih banyak

Offline frenkie

  • Junior Member
  • *
  • Posts: 325
Re: Backup database MySQL dan Restore
« Reply #41 on: September 26, 2017, 08:25:30 AM »
setahu saya tidak bisa .

Offline honghong

  • Newbie
  • *
  • Posts: 32
Re: Backup database MySQL dan Restore
« Reply #42 on: September 26, 2017, 10:22:40 AM »
Benar sekali pak Frenkie, tidak bisa. MySQL Server versi 5.6 hanya mensupport replikasi terhadap 1 master server saja.
Akhirnya saya buat virtualisasi. Jadi, server fisik di tempat saya tetap 3 server produksi dan 1 server backup.
Sekarang sudah berjalan dengan baik, seconds behind masters = 0.

Untuk tahu pasti bahwa slave server sudah benar-benar sync dengan master server, indikatornya apa ya pak ?
Apakah cukup hanya dengan memonitor Seconds Behind Masters tersebut saja ?