readbud - get paid to read and rate articles

Jumat, 14 Oktober 2011

Konfigurasi Replikasi di MySQL

Hari ini nyoba konfigurasi replikasi di MySQL. Cukup unik, tapi lumayan lah bisa digunakan untuk replikasi data ke server lain.
Replikasi database di MySQL menggunakan konsep mengambil file log.bin di Server yang disebut MASTER dan dieksekusi di sisi SLAVE.
File log.bin pada hakekatnya adalah berisi history perintah-perintah SQL yang dihasilkan dari aktifitas DDL (create, alter, drop) dan transaksi (insert,update, delete) di Server MASTER.
Kemudian secara realtime (walaupun ada delay sih) diambil oleh Server SLAVE untuk dieksekusi, sehingga obyek atau data yang disisi MASTER akan sama di sisi SLAVE.

Konfigurasi di sisi MASTER
1. Pastikan di my.ini ditambahkan konfigurasi sebagai berikut:

[mysqld]
bind_address=ip_server_master
skip-name-resolve
server-id=1
log-bin=mysql-bin

2. Restart service mysql
3. Buat user dan diberi grant akses file dan replikasi

mysql>GRANT FILE on *.* to repluser@'%' identified by '123';
mysql>GRANT REPLICATION SLAVE on *.* to repluser@'%';

Konfigurasi di sisi SLAVE
1. Pastikan di my.ini ditambahkan konfigurasi sebagai berikut:

[mysqld]
bind_address=ip_server_slave
skip-name-resolve
server-id=2

2. restart service mysql
3. masuk ke mysql prompt
mysql>CHANGE MASTER TO MASTER_HOST='IP_SERVER_MASTER',

 -> MASTER_USER='repluser',
 -> MASTER_PASSWORD='123',
 -> MASTER_LOG_POS=4;
mysql>slave start;

4. Cek slave statusnya

mysql>show slave status;

Coba test replikasi. Buat database di Sisi MASTER
mysql>create database testdb;
mysql>create table test(nomor int, nama varchar(50));
mysql>insert into test values(1,'test nama');

Cek disi SLAVE
mysql>show databases;

Kalau berhasil seharusnya ada database testdb; 

Gitu dulu ya, mau maghriban....

Tidak ada komentar: