MANAJEMEN SUMBER DAYA DATA
6. Replikasi Data
Replikasi data merupakan proses backup data dari server aktif secara real time dan berlansung secara terus menerus, ke suatu mesin server cadangan. Membuat backup dengan menggunakan fasilitas replikasi (replication), memungkinkan didapatkan backup yang sempurna dari suatu database MySQL yang besar dan aktif, tanpa melakukan penghentian dari server yang bersangkutan. Tanpa replikasi, backup akan memperlambat sistem dan ada kemungkinan data yang tidak konsisten, karena bisa saja satu tabel berubah sementara tabel lain yang berhubungan tidak berubah dan karena sedang di-backup.
Mematikan server akan menjamin data yang konsisten, tetapi ini berarti menghentikan layanan pada pengguna dan sangat tidak diharapkan. Kadangkala penghentian ini tidak dapat dihindarkan, tetapi penghentian setiap hari tidak dapat diterima. Metoda alternatif backup data dengan proses replikasi, MySQL menjamin backup sempurna tanpa harus menghentikan server tiap hari.
Replikasi merupakan konfigurasi sistem server MySQL, yang memadukan sistem kerja antara Master Server sebagai penyimpan data dan menangani permintaan pengguna, dengan server MySQL yang lain, yang dinamakan Slave Server. Slave Server sendiri, berisi copy data Master Server, dan melakukan semua SQL statement yang mengubah data di Master Server secara real time. Dengan demikian backup dapat dilakukan secara periodik atau secara terus menerus, tanpa harus mematika server utama. Mekanisme untuk melakukan replikasi data, adalah dengan melakukan seting/konfigurasi pada kedua mesin server, baik pada Master Server maupun pada Slave Server. Berikut ini langkah-langkah dalam melakukan konfigurasi proses replikasi data pada kedua mesin server;
7.1 Konfigurasi Pada Master Server
Konfigurasi yang harus dilakukan pada mesin Master Server adalah sebagai berikut; Lakukan perubahan seting pada file C:\Program Files\MySQL\MySQL Server
5.0\My.ini, dengan menggunakan program Text Editor Tambahkah skrip berikut pada bagian [mysqld]
[mysqld]
log-bin=mysql-bin
server-id=1 Nomer/Id mesin Master Server Simpan dan tutup file tersebut
Aktifkan Program MySQL Administrator, dan lakukan sesi login ke server MySQL dengan user root
Lakukan restarting server dengan memilih modul Servis Control, kemudian pilih/click tombol Stop Service untuk menghentikan server. Aktifkan kembali dengan pilih/click tombol Start Service.
Masuklah ke server MySQL sebagai root melalui program MySQL Query Browser, dengan urutan menu yang dipilih Start Programs MySQL MySQL Query Browser. Masukkan server host, port, user name dan password yang sesuai, serta default schema yang diinginkan. Click OK.
Gambar 11: Kotak Dialog Koneksi ke Server Dengan MySQL Query Browser Buatlah user baru melalui interface Query Browser, misalkan dengan nama replikator
dan hak aksesnya adalah replication slave. GRANT REPLICATION SLAVE
ON *.* TO ‘replikator’@’slave_host’ atau nomer IP mesin Slave Server
IDENTIFIED BY ‘12345’; 12345 merupakan password dari user replikator
Jalankan perintah berikut flush privileges;
show maseter status;
Lakukan backup data untuk database yang akan direplikasi. Backup data dapat dilakukan dengan menggunakan modul Backup pada program MySQL Administrator. Dalam contoh berikut, database yang akan direplikasi adalah database/schema test.
Gambar 12: Proses Backup Data
Lihat status replikasi dengan menggunakan modul Repliction Status pada program MySQL Administrator. Pilih/click tombol Refresh, kemudian catat log file (biasanya mysql-bin.0000xx) dan log pos-nya. Nama log file dan nomer log pos, selanjutnya akan digunakan untuk menyeting mesin Slave Server.
Gambar 13: Informasi Log File dan Log Pos Pada Modul Replication Status 7.2 Konfigurasi Pada Slave Server
Konfigurasi yang harus dilakukan pada mesin Master Server adalah sebagai berikut; Lakukan proses restoring data dari file hasil proses backup data yang telah dilakukan di
mesin Master Server. Gunakan modul Restore pada program MySQL Administrator, dan login ke mesin Slave Server sebagai root.
Lakukan perubahan seting pada file C:\Program Files\MySQL\MySQL Server 5.0\My.ini, dengan menggunakan program Text Editor.
Tambahkah skrip berikut pada bagian [mysqld] [mysqld]
server-id=2 Nomer/Id mesin Slave Server
master-host=192.168.0.1 sesuaikan dengan IP mesin Master Server master-port=3306 sesuaikan dengan nomer Port yang digunakan master-user=replikator nama user pemilik hak replication slave master-password=12345 password user pemilik hak replication slave master-connect-retry=60
replicate-do-db=test nama database/schema yang akan direplikasi relay-log=mysql-bin.0000xx nama log file yang tercatat di mesin Master
Server
relay-log-index=mysql-bin.index Simpan dan tutup file tersebut
Aktifkan Program MySQL Administrator, dan lakukan sesi login ke server MySQL dengan user root
Lakukan restarting server dengan memilih modul Servis Control, kemudian pilih/click tombol Stop Service untuk menghentikan server. Aktifkan kembali dengan pilih/click tombol Start Service.
Masuklah ke server MySQL sebagai root melalui program MySQL Query Browser, dengan urutan menu yang dipilih Start Programs MySQL MySQL Query Browser. Masukkan server host, port, user name dan password yang sesuai, serta default schema yang diinginkan. Click OK.
Lakukan seting dengan perintah-perintah berikut pada interface Query Browser; stop slave;
change master to
master_host=’192.168.0.1’, sesuaikan dengan IP mesin Master Server master_user=’replikator’, nama user pemilik hak replication slave master_password=’12345’, password user pemilik hak replication slave
master_log_file=’mysql-bin.0000xx’, log file yang tercatat di mesin Master Server
master_log_pos=xxx; log pos yang tercatat di mesin Master Server
start slave;
Setelah semua langkah-langkah penyetingan dilakukan, baik pada mesin Master Server maupun pada Slave Server dan mesin Slave Server sudah dapat dipastikan aktif, maka semua perubahan data yang terjadi pada mesin Master Server akan berlaku pula pada mesin Server Slave.